1
使用Python PIL我想要以這樣一種方式轉換輸入圖像,使它們看起來很透徹。我發現的大部分答案都是關於旋轉等。下面的圖片顯示了我瞄準的效果之一。同樣,我想這樣做不僅從前到後,而且從左到右,反之亦然。我想要的另一個效果是以中心更近,邊緣更遠的方式扭曲圖像。Python PIL圖像變形/仿射變換
我該如何撥打im.transform
才能獲得此效果?爲什麼?
輸入圖像:
輸出效果:
使用Python PIL我想要以這樣一種方式轉換輸入圖像,使它們看起來很透徹。我發現的大部分答案都是關於旋轉等。下面的圖片顯示了我瞄準的效果之一。同樣,我想這樣做不僅從前到後,而且從左到右,反之亦然。我想要的另一個效果是以中心更近,邊緣更遠的方式扭曲圖像。Python PIL圖像變形/仿射變換
我該如何撥打im.transform
才能獲得此效果?爲什麼?
輸入圖像:
輸出效果:
我相信你正在尋找perspective transformations。您可以在下面的方式與枕頭做到這一點:
transformed = image.transform(
image.size, Image.PERSPECTIVE,
[
a0, a1, a2,
a3, a4, a5,
a6, a7
],
Image.BILINEAR
)
其中A0〜A7以這種方式用於變換系數(從源代碼,Geometry.c):
xout = (a0 * xin + a1 * yin + a2)/(a6 * xin + a7 * yin + 1);
yout = (a3 * xin + a4 * yin + a5)/(a6 * xin + a7 * yin + 1);
有趣。但是,上面的效果需要什麼值? – Simon
或更好,如何將3D投影轉換爲此2D輸入 – Simon