溫馨提示×

Pillow怎么對圖像進行仿射和非仿射變換

小億
82
2024-05-23 11:14:15
欄目: 編程語言

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')

# 創(chuàng)建一個新的仿射變換對象
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()

# 創(chuàng)建一個新的非仿射變換對象
non_affine = ImageOps.mirror(image)

# 顯示變換后的圖像
plt.imshow(non_affine)
plt.show()

在上面的例子中,我們首先使用Image.open()方法讀取一張圖像,然后分別創(chuàng)建了一個仿射變換對象affine和一個非仿射變換對象non_affine。通過調用paste()方法將原始圖像粘貼到仿射變換對象中,然后通過調用rotate()方法對仿射變換對象進行旋轉操作。最后,使用imshow()方法顯示變換后的圖像。

對于非仿射變換,我們使用ImageOps.mirror()方法創(chuàng)建了一個鏡像變換對象non_affine,然后同樣使用imshow()方法顯示變換后的圖像。

通過這些簡單的步驟,你可以使用Pillow庫對圖像進行仿射和非仿射變換。更多關于Pillow庫的操作可以查閱官方文檔:https://pillow.readthedocs.io/en/stable/。

0