opencv - 使用RANSAC查找正确的点匹配

标签 opencv camera-calibration ransac

我有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);

关于opencv - 使用RANSAC查找正确的点匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17973462/

相关文章:

c++ - OpenCV C++ - findHomography 值的含义

image - 将真实图像卡通化

c++ - OpenCV 立体校准具有较低的重投影误差,但不正确

visual-studio-2008 - Visual Studio 2008 中包含文件 core 和 highgui 时出错

python - 手眼校准 OpenCV

python - python错误,尝试创建结构列表时语法无效

algorithm - 可接受的共识集,RANSAC?

image-processing - 如何检查一个轮廓是否嵌套/嵌入到opencv中

image-processing - FindFundamentalMatrix 找不到基本矩阵