Opencv学习-透视变换(几何变换)

透视变换是图像处理中用于纠正图像变形的重要方法,它能处理仿射变换无法解决的梯形失真问题。在OpenCV中,透视变换通过cv.warpPerspective函数实现,需要一个3x3的映射矩阵。透视变换可以分为密集和稀疏两种,其中密集变换常用cv.getPerspectiveTransform计算映射矩阵,而稀疏变换常与findHomography结合使用。
摘要由CSDN通过智能技术生成

透视变换
上篇讲到仿射变换,但是仿射变换不能矫正一些变形,如矩形区域的部分发生变化最终变成梯形,这时候矫正就需要用到透视变换。透视变换(Perspective Transformation),又称投影映射(Projective Mapping)、投射变换等,是三维空间上的非线性变换,可看作是仿射变换的更一般形式,简单讲即通过一个3x3的变换矩阵将原图投影到一个新的视平面(Viewing Plane),在视觉上的直观表现就是产生或消除了远近感。透视变换是将图像从一个视平面投影到另外一个视平面的过程。

密集透视变换
密集透视变换用的opencv函数与密集仿射变换是类似的,cv.warpPerspective与cv.warpAffine的参数相同,但是所采用的映射矩阵必须是3*3的。通常情况下提及的透视变换都是指密集透视变换。密集透视变换只局限于线性操作。
Python:
dst = cv.warpPerspective(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]])
参数含义见warpAffine。

计算透视映射矩阵
对于透视变换函数,针对在代码执行期间填充M,可以通过函数cv.getPerspectiveTransform获得。注:与仿射变换不同的是需要4个点。
retval = cv.getPerspectiveTransform( src, dst[, solveMethod] )

来自 https://docs.opencv.org/4.1.0/da/d54/group__imgp

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值