Python 縮放圖片 resize

本篇 ShengYu 將介紹如何使用 Python 來縮放圖片,在做影像處理時常常會需要用縮放圖片的功能,這邊我們使用 python 的 PIL 模組來作圖片的縮放。

安裝 PIL

基本上新版本的 Python 應該都有內建 PIL,如果還未安裝 PIL 的話請參考這篇

使用範例

以下範例 ShengYu 是將 lena.jpg 這張圖片從原本的 512x512 大小縮放成 256x256 大小,之後顯示並且存檔。

resize-image.py
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from PIL import Image

img = Image.open("lena.jpg")
(w, h) = img.size
print('w=%d, h=%d', w, h)
img.show()

new_img = img.resize((256, 256))
new_img.show()
new_img.save("lena-256x256.jpg")

結果如下圖所示:
左邊為原圖,右邊為縮放後的圖。

另外如果只是想將圖片等比例縮小的話可以參考 PIL 提供的另外一個函式,製作圖片縮圖的 thumbnail()

其他參數說明

Image.resize 第一個參數為 size:(width, height)
第二個參數為 resample:

resample 參數 說明
PIL.Image.NEAREST 最鄰近插值 (預設?)
PIL.Image.BOX
PIL.Image.BILINEAR
PIL.Image.HAMMING
PIL.Image.BICUBIC
PIL.Image.LANCZOS

Image.resize 參數的詳細細節請參考這裡

其它相關文章推薦
如果你想學習 Python 相關技術,可以參考看看下面的文章,
Python 新手入門教學懶人包
Python 圖片模糊化 blur
Python 旋轉圖片 rotate
Python 製作圖片縮圖 thumbnail
Python 裁切裁剪圖片 crop
Python 在圖片上繪製文字