我有2张图片。每个图像中的两个正方形的角落各有8个点。我需要在它们之间找到相应的正确匹配。因此,当我将64种可能的匹配组合传递给RANSAC(findFundamentalMatrix)时,它给了我7个匹配,这些匹配被认为是内部但是,结果证明它们都是错误的匹配。
我多次试图找出可能出错的地方,一直在摸不着头脑。由于我是OpenCV的新手,我需要一些帮助来解决它。
由于
答案 0 :(得分: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);