aihot  2017-05-19 23:28:33  OpenCV |   查看评论   

  对于透视变换,您需要一个3x3的变换矩阵。即使在转型后,直线也保持直线。要找到此转换矩阵,您需要输入图像上的4点和输出图像上的对应点。在这4点中,其中3个不应该共线。

透视变换(透视变换)是将图像投影到一个新的视平面,也称为投影映射。

        公式:dst(x,y) = src((M11x+M12y+M13)/(M31x+M32y+M33), (M21x+M22y+M23)/(M31x+M32y+M33))

仿射变换与透视变换的区别:

(1)、仿射变换,它可以将矩形转换成平行四边形,也可以将矩形的边压扁但必须保持边是平行的,也可以将矩形旋转或者按比例缩放。透视变换除了能够处理仿射变换的操作外,还可以将矩形转换成梯形。即仿射变换后还是平行四边形,透视变换后是四边形。因此可以说仿射变换是透视变换的一个子集。

         (2)、在OpenCV中,基于2*3矩阵进行的变换,是图像的仿射变换;基于3*3矩阵进行的变换,是图像的透视变换或者单应性映射。图像透视变换多用于图像校正

         下图是截取的《Learning OpenCV》一书中的插图:

OpenCV的代码提取:warpPerspective函数的实现

目前支持uchar和float两种类型,经测试,与OpenCV3.1结果完全一致。

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自OpenCV的代码提取:warpPerspective函数的实现

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]