Python Pillow專業指南:安裝與基本使用

進入 Python 強大的 Pillow 庫,展開一段充滿刺激的圖片處理之旅吧!

什麼是 Pillow?

Pillow 是一個 Python 庫,廣受讚譽,可以打開、處理和儲存多種圖片檔案格式。

安裝

我們的第一步是安裝 Pillow。

python
pip install pillow

想了解更多安裝選項,請參閱 Pillow 文件

基本使用

既然 Pillow 安裝好了,現在是時候進入一些基本用法了。

開啟和顯示圖片

python
from PIL import Image

# 開啟圖片檔案
img = Image.open('image.jpg')
# 顯示圖片
img.show()

基本圖片處理

讓我們在圖片上加點刺激吧。

python
# 旋轉圖片
img_rotated = img.rotate(45)
img_rotated.show()

# 轉為灰階
img_gray = img.convert('L')
img_gray.show()

儲存圖片

讓我們完成基本操作,將修改後的圖片保存起來。

python
img_rotated.save('rotated.jpg')
img_gray.save('gray.jpg')

更深入探索

隨著我們深入探索,讓我們了解更高級的功能。我們將探討圖片濾鏡、顏色修改,以及在圖片上添加文字的操作。了解這些高級功能將為我們開啟使用 Python Pillow 進行更高水準圖片處理的大門。

圖片濾鏡

Pillow 提供了大量的濾鏡,您可以將其應用於圖片。例如,讓我們將 BLUR 濾鏡應用於我們的圖片。

python
from PIL import ImageFilter

# 應用 BLUR 濾鏡
img_blur = img.filter(ImageFilter.BLUR)
img_blur.show()

修改顏色

您還可以調整圖片中的顏色。這是如何增加圖片的亮度。

python
from PIL import ImageEnhance

# 增加亮度
enhancer = ImageEnhance.Brightness(img)
img_bright = enhancer.enhance(2.0) # 增加 2 倍亮度
img_bright.show()

在圖片上添加文字

只需調用 text 函數,即可輕鬆將文字添加到圖片上。讓我們在圖片上添加一些文字。

python
from PIL import ImageDraw, ImageFont

# 在圖片上繪製文字
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('arial.ttf', 15) # 使用 Arial 字體,大小為 15

draw.text((10, 10), "Hello, Pillow!", font=font)
img.show()

總結

Pillow 是一個堅固而多功能的 Python 庫,專門用於圖片處理。它本質上是較舊的 PIL(Python Imaging Library)庫的演進版本,提供廣泛的檔案格式支援,高效的內部表示和強大的圖片處理功能。從讀取、寫入、顯示圖片等簡單任務,到圖片濾鏡、裁剪、調整大小、旋轉和顏色修改等較複雜的操作,Pillow 都能應付自如。對於處理圖片數據並需要以簡單高效的方式進行轉換和修改的 Python 程式設計師來說,Pillow 是不可或缺的工具。

完整代碼

python
from PIL import Image, ImageFilter, ImageEnhance, ImageDraw, ImageFont

# 開啟圖片檔案
img = Image.open('image.jpg')

# 旋轉圖片
img_rotated = img.rotate(45)
img_rotated.save('rotated.jpg')

# 轉為灰階
img_gray = img.convert('L')
img_gray.save('gray.jpg')

# 應用 BLUR 濾鏡
img_blur = img.filter(ImageFilter.BLUR)
img_blur.show()

# 增加亮度
enhancer = ImageEnhance.Brightness(img)
img_bright = enhancer.enhance(2.0) # 增加 2 倍亮度
img_bright.show()

# 在圖片上繪製文字

draw = ImageDraw.Draw(img)
font = ImageFont.truetype('arial.ttf', 15) # 使用 Arial 字體,大小為 15


draw.text((10, 10), "Hello, Pillow!", font=font)
img.show()

常見問題

1. 如果遇到 "No module named 'PIL'" 的錯誤怎麼辦? 請確認 Pillow 安裝正確。重新執行 pip install pillow 可能能解決問題。

2. 我可以在除了 .jpg 之外的檔案格式中使用 Pillow 嗎? 當然可以!Pillow 支援多種圖片檔案格式。

3. 如何調整圖片的大小? 使用 resize() 函數即可。像這樣使用:img_resized = img.resize((新寬度, 新高度))

4. 如果我想以不同的角度旋轉圖片怎麼辦? 只需在 rotate() 函數中更改數字。例如,img.rotate(90) 將圖片旋轉 90 度。

5. 在 convert 函數中,'L' 代表什麼意思? 'L' 代表 'luminance'(亮度),一個複雜的術語,意思是灰階或黑白。

© Copyright 2023 CLONE CODING