Pillow是一個 Python 圖像處理庫,可以用來對圖像進行各種操作,包括仿射和非仿射變換。下面是一個簡單的例子,演示如何使用Pillow對圖像進行仿射和非仿射變換:
from PIL import Image
from PIL import ImageOps
from PIL import ImageEnhance
from PIL import ImageFilter
import matplotlib.pyplot as plt
# 讀取圖像
image = Image.open('image.jpg')
# 創建一個新的仿射變換對象
affine = Image.new('RGB', (image.width, image.height), (255, 255, 255))
# 進行仿射變換
affine.paste(image, (0, 0))
affine = affine.rotate(45)
# 顯示變換后的圖像
plt.imshow(affine)
plt.show()
# 創建一個新的非仿射變換對象
non_affine = ImageOps.mirror(image)
# 顯示變換后的圖像
plt.imshow(non_affine)
plt.show()
在上面的例子中,我們首先使用Image.open()
方法讀取一張圖像,然后分別創建了一個仿射變換對象affine
和一個非仿射變換對象non_affine
。通過調用paste()
方法將原始圖像粘貼到仿射變換對象中,然后通過調用rotate()
方法對仿射變換對象進行旋轉操作。最后,使用imshow()
方法顯示變換后的圖像。
對于非仿射變換,我們使用ImageOps.mirror()
方法創建了一個鏡像變換對象non_affine
,然后同樣使用imshow()
方法顯示變換后的圖像。
通過這些簡單的步驟,你可以使用Pillow庫對圖像進行仿射和非仿射變換。更多關于Pillow庫的操作可以查閱官方文檔:https://pillow.readthedocs.io/en/stable/。