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