diff --git a/samples/cpp/descriptor_extractor_matcher.cpp b/samples/cpp/descriptor_extractor_matcher.cpp index f61279182..ce4822010 100644 --- a/samples/cpp/descriptor_extractor_matcher.cpp +++ b/samples/cpp/descriptor_extractor_matcher.cpp @@ -199,9 +199,11 @@ void doIteration( const Mat& img1, Mat& img2, bool isWarpPerspective, vector points1; KeyPoint::convert(keypoints1, points1, queryIdxs); vector points2; KeyPoint::convert(keypoints2, points2, trainIdxs); Mat points1t; perspectiveTransform(Mat(points1), points1t, H12); + + double maxInlierDist = ransacReprojThreshold < 0 ? 3 : ransacReprojThreshold; for( size_t i1 = 0; i1 < points1.size(); i1++ ) { - if( norm(points2[i1] - points1t.at((int)i1,0)) < ransacReprojThreshold ) // inlier + if( norm(points2[i1] - points1t.at((int)i1,0)) <= maxInlierDist ) // inlier matchesMask[i1] = 1; } // draw inliers