findHomography(src_points, dst_points, CV_RANSAC)

Posted canyeweiwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了findHomography(src_points, dst_points, CV_RANSAC)相关的知识,希望对你有一定的参考价值。

Homography,即单应性,该函数用于求src_points转换为dst_poinsts的单应性矩阵;

为了理解单应性,必须先引入透视变换的概念;把空间坐标系中的三维物体或对象转变为二维图像表示的过程称为投影变换,根据视点(投影中心)与投影平面之间距离的不同,投影可分为平行投影和透视投影,透视投影即透视变换。平行投影理论上是不存在的,因为它必须在光源距离物体无穷远时才可能实现,因此我们在平时生活中见到的都是透视变换,比如幻灯片,照相机等;

当两张图片A和B符合同一个透视变换时,那么就会存在一个单应性矩阵H,使得B=A*H,从这里我们不难推理出,单应性其实就是一个平面到另一个平面的投影映射;假设图像A的点为(x,y),图像B的点为(x‘,y‘),那么透视变换可以用如下公式表示: 

技术图片

我们发现函数的第三个参数为CV_RANSAC,表示调用RANSAC(Random Sample Consensus)算法,由于src_points和 dst_points的点并不是所有点都一一对应的,而RANSAC方法可以从这些包含错误匹配的数据中,分离出正确的匹配,并且求得单应性矩阵;

以上是关于findHomography(src_points, dst_points, CV_RANSAC)的主要内容,如果未能解决你的问题,请参考以下文章

Python:OpenCV findHomography输入

`cv.findHomography` 的解释

opencv cv2.findHomography sift、surf特征匹配 单应性矩阵理解

openCV 特征点识别 与findHomography算法过滤

打开 CV 3.0 findHomography 引发错误

OpenCV findHomography 错误