我有 2 张图片。每个图像中的两个正方形的角都有 8 个点。我需要找到它们之间相应的正确匹配。因此,当我将 64 种可能的匹配组合传递给 RANSAC (findFundamentalMatrix) 时,它给了我 7 种本应是内线的匹配,但结果证明它们都是错误的匹配。
很多天以来,我一直在挠头,试图找出可能出了什么问题。由于我是 OpenCV 的新手,我需要一些帮助来弄清楚。
谢谢
我有 2 张图片。每个图像中的两个正方形的角都有 8 个点。我需要找到它们之间相应的正确匹配。因此,当我将 64 种可能的匹配组合传递给 RANSAC (findFundamentalMatrix) 时,它给了我 7 种本应是内线的匹配,但结果证明它们都是错误的匹配。
很多天以来,我一直在挠头,试图找出可能出了什么问题。由于我是 OpenCV 的新手,我需要一些帮助来弄清楚。
谢谢
为了解决这个问题,第一次使用 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);