cv2透视变换逆变换_让图走近你—透视变换及其动态演示

透视变换(Perspective Transformation)是将图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping)。其原理如下图所示。

d2a126fd8fd575433b8de36e1fccee77.png

透视变换原理图

Python结合OpenCV, 能够实现透视变换。其基本方法是在原始图上选择四个点,任意三个点都不共线。对应地在要变换到的图上设置4个点。使用cv2.getPerspectiveTransform()方法计算得到从原图像到新图像的变换矩阵。使用cv2.warpPerspective()方法,按照获取的变换矩阵将原图像变换为新的图像。

动态改变原图上4个点的位置,能获得一系列变换图像。使用imageio模块,将它们制作为gif,能够动态演示透视变换的过程,造成观察者对被观察对象视角变化的视觉效果。

以下几个例子动态演示了透视变换的过程。每个gif都产生在一幅原始图片。

b6c25ca8322fc17dc93689c78894b257.gif
482f1121fd1597a4a98c922f0cbe37bb.gif
30c2cb88b385fb8cceb72fbe2599e678.gif
887a275533d520aba866d4b532e74683.gif
a539141f521f58d73ee75f2b2ed19cca.gif
0a23bb6b0dedb0539002fbcd3ccbe745.gif
3c552c9c787a70ad2631c9cef4b658c0.gif
6fbb3b3bb6969e78efdf2218b7a1aec3.gif
dcb40f64e2d760c8def1bee04ed0bdea.gif

以后有机会再附上代码。


版权声明:本文为weixin_39633134原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。