【问题标题】:Finding right point matches using RANSAC使用 RANSAC 找到正确的点匹配
【发布时间】:2013-08-01 03:51:04
【问题描述】:
我有 2 张图片。每个图像中的两个正方形的角都有 8 个点。我需要找到它们之间相应的正确匹配。因此,当我将 64 种可能的匹配组合传递给 RANSAC (findFundamentalMatrix) 时,它给了我 7 种本应是内线的匹配,但结果证明它们都是错误的匹配。
多年来,我一直在摸不着头脑,试图找出可能出了什么问题。由于我是 OpenCV 新手,我需要一些帮助来弄清楚。
谢谢
【问题讨论】:
标签:
opencv
camera-calibration
ransac
【解决方案1】:
为了解决这个问题,第一次使用 findHomography() 然后计算旋转值,最后使用 perspectiveTransform() 将输入点转换为原始点。
Point2f first_8_points[8],second_8_points[8];
Mat H = findHomography(first_8_points, second_8_points, CV_RANSAC );
float roatation = acos( H.at<double>(0,0)) * 180/CV_PI;
perspectiveTransform( first_8_points, second_8_points, H);