繁体   English   中英

Python PIL图像变形/仿射变换

[英]Python PIL image warping / Affine transformations

我想使用Python PIL转换输入图像,使其看起来像是透视图。 我发现的大多数答案都与旋转有关。下图显示了我要针对的效果之一。 同样,我不仅要从前到后,而且要从左到右,反之亦然。 我想要的另一个效果是使图像变形,中心更近,边缘更远。

我应该如何调用im.transform以获得这种效果? 又为什么呢?

输入图片:

输入图像

输出效果:

输出图像

我相信您正在寻找透视变换 您可以通过以下方式使用枕头进行操作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM