diff --git a/modules/features2d/src/evaluation.cpp b/modules/features2d/src/evaluation.cpp index efe98b32fd54335c83408c437b17a066eddb0b5e..53959b2f74625ad8a645c769cae07b3273d2b1c0 100644 --- a/modules/features2d/src/evaluation.cpp +++ b/modules/features2d/src/evaluation.cpp @@ -371,7 +371,7 @@ void cv::evaluateFeatureDetector( const Mat& img1, const Mat& img2, const Mat& H if( keypoints1->empty() ) fdetector->detect( img1, *keypoints1 ); if( keypoints2->empty() ) - fdetector->detect( img1, *keypoints2 ); + fdetector->detect( img2, *keypoints2 ); calculateRepeatability( img1, img2, H1to2, *keypoints1, *keypoints2, repeatability, correspCount ); } diff --git a/tests/cv/src/adetectordescriptor_evaluation.cpp b/tests/cv/src/adetectordescriptor_evaluation.cpp index 800c57f02d24884968902dc94908d5d0416adb95..ab39b1ca7155a384c4cef14dafaff58f8f4ce67c 100644 --- a/tests/cv/src/adetectordescriptor_evaluation.cpp +++ b/tests/cv/src/adetectordescriptor_evaluation.cpp @@ -712,9 +712,11 @@ void DetectorQualityTest::runDatasetTest (const vector &imgs, const vector< { progress = update_progress( progress, di*TEST_CASE_COUNT + ci, progressCount, 0 ); vector keypoints2; + float rep; evaluateFeatureDetector( imgs[0], imgs[ci+1], Hs[ci], &keypoints1, &keypoints2, - calcQuality[di][ci].repeatability, calcQuality[di][ci].correspondenceCount, + rep, calcQuality[di][ci].correspondenceCount, detector ); + calcQuality[di][ci].repeatability = 100.f*rep; writeKeypoints( keypontsFS, keypoints2, ci+1); } } @@ -748,13 +750,13 @@ int DetectorQualityTest::processResults( int datasetIdx, int caseIdx ) return res; } -//DetectorQualityTest fastDetectorQuality = DetectorQualityTest( "FAST", "quality-detector-fast" ); -//DetectorQualityTest gfttDetectorQuality = DetectorQualityTest( "GFTT", "quality-detector-gftt" ); -//DetectorQualityTest harrisDetectorQuality = DetectorQualityTest( "HARRIS", "quality-detector-harris" ); -//DetectorQualityTest mserDetectorQuality = DetectorQualityTest( "MSER", "quality-detector-mser" ); -//DetectorQualityTest starDetectorQuality = DetectorQualityTest( "STAR", "quality-detector-star" ); -//DetectorQualityTest siftDetectorQuality = DetectorQualityTest( "SIFT", "quality-detector-sift" ); -//DetectorQualityTest surfDetectorQuality = DetectorQualityTest( "SURF", "quality-detector-surf" ); +DetectorQualityTest fastDetectorQuality = DetectorQualityTest( "FAST", "quality-detector-fast" ); +DetectorQualityTest gfttDetectorQuality = DetectorQualityTest( "GFTT", "quality-detector-gftt" ); +DetectorQualityTest harrisDetectorQuality = DetectorQualityTest( "HARRIS", "quality-detector-harris" ); +DetectorQualityTest mserDetectorQuality = DetectorQualityTest( "MSER", "quality-detector-mser" ); +DetectorQualityTest starDetectorQuality = DetectorQualityTest( "STAR", "quality-detector-star" ); +DetectorQualityTest siftDetectorQuality = DetectorQualityTest( "SIFT", "quality-detector-sift" ); +DetectorQualityTest surfDetectorQuality = DetectorQualityTest( "SURF", "quality-detector-surf" ); /****************************************************************************************\ * Descriptors evaluation *