要實現圖像的透視變換和校正,可以使用Pillow庫中的transform
模塊。下面是一個簡單的示例代碼:
from PIL import Image
from PIL import ImageOps
# 打開圖片
img = Image.open('example.jpg')
# 定義透視變換的四個點坐標
points = [(0, 0), (img.width, 0), (img.width, img.height), (0, img.height)]
# 定義變換后的四個點坐標
new_points = [(0, 0), (img.width, 0), (img.width*0.8, img.height), (img.width*0.2, img.height)]
# 透視變換
img = img.transform((img.width, img.height), Image.PERSPECTIVE, new_points, Image.BICUBIC)
# 校正
img = ImageOps.autocontrast(img)
# 保存圖片
img.save('output.jpg')
在上面的代碼中,我們首先打開了一張圖片,然后定義了透視變換的四個點坐標和變換后的四個點坐標,使用transform
函數進行透視變換,最后使用autocontrast
函數進行校正并保存變換后的圖片。您可以根據具體需求調整點坐標和變換參數來實現不同的透視變換效果。