0

我有 2 张图片。每个图像中的两个正方形的角都有 8 个点。我需要找到它们之间相应的正确匹配。因此,当我将 64 种可能的匹配组合传递给 RANSAC (findFundamentalMatrix) 时,它给了我 7 种本应是内线的匹配,但结果证明它们都是错误的匹配。

很多天以来,我一直在挠头,试图找出可能出了什么问题。由于我是 OpenCV 的新手,我需要一些帮助来弄清楚。

谢谢

4

1 回答 1

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);
于 2013-07-31T14:53:39.810 回答