溫馨提示×

Pillow怎么對圖像執(zhí)行仿射變換

小億
91
2024-05-23 15:24:15
欄目: 編程語言

在Python中,可以使用Pillow庫中的Image類來對圖像執(zhí)行仿射變換。下面是一個簡單的示例代碼,演示如何對圖像進行平移、旋轉(zhuǎn)和縮放等仿射變換:

from PIL import Image
from PIL import ImageOps
from PIL import ImageFilter
import numpy as np
import matplotlib.pyplot as plt

# 打開圖像文件
image = Image.open("example.jpg")

# 定義仿射變換矩陣
matrix = [
    1, 0, 100,  # 水平平移100個像素
    0, 1, 50    # 垂直平移50個像素
]

# 進行仿射變換
image_transformed = image.transform(image.size, Image.AFFINE, matrix)

# 顯示原始圖像和仿射變換后的圖像
plt.figure(figsize=(10, 5))
plt.subplot(1, 2, 1)
plt.imshow(image)
plt.title("Original Image")

plt.subplot(1, 2, 2)
plt.imshow(image_transformed)
plt.title("Transformed Image")

plt.show()

在這個示例中,首先使用Image.open()打開一個圖像文件,然后定義一個仿射變換矩陣matrix,其中前兩行表示縮放、旋轉(zhuǎn)和錯切,后兩行表示水平和豎直平移。最后使用image.transform()函數(shù)對圖像進行仿射變換,并使用Matplotlib庫來顯示原始圖像和變換后的圖像。您可以根據(jù)需要修改仿射變換矩陣來實現(xiàn)不同的變換效果。

0