From 5120d690f043825f7d986b1a06f9a9e77cd70ba9 Mon Sep 17 00:00:00 2001 From: Maria Dimashova Date: Sat, 14 Jul 2012 16:07:48 +0000 Subject: [PATCH] fixed nonfree rotation invariance tests for detectors --- modules/nonfree/test/test_rotation_invariance.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/nonfree/test/test_rotation_invariance.cpp b/modules/nonfree/test/test_rotation_invariance.cpp index bb16ece28..bfad235aa 100644 --- a/modules/nonfree/test/test_rotation_invariance.cpp +++ b/modules/nonfree/test/test_rotation_invariance.cpp @@ -185,9 +185,8 @@ protected: { inliersCount++; - const float maxAngleDiff = 3.f; // grad - - float angle0 = keypoints0[m0].angle; + const float maxAngleDiff = 15.f; // grad + float angle0 = keypoints0[m0].angle; float angle1 = keypoints1[nearestPointIndex].angle; if(angle0 == -1 || angle1 == -1) CV_Error(CV_StsBadArg, "Given FeatureDetector is not rotation invariant, it can not be tested here.\n"); @@ -199,7 +198,8 @@ protected: rotAngle0 -= 360.f; float angleDiff = std::max(rotAngle0, angle1) - std::min(rotAngle0, angle1); - angleDiff = std::min(angleDiff, static_cast(2. * CV_PI - angleDiff)); + angleDiff = std::min(angleDiff, static_cast(360.f - angleDiff)); + CV_Assert(angleDiff >= 0.f); bool isAngleCorrect = angleDiff < maxAngleDiff; if(isAngleCorrect) @@ -243,13 +243,13 @@ protected: TEST(Features2d_RotationInvariance_Detector_SURF, regression) { - DetectorRotatationInvarianceTest test(Algorithm::create("Feature2D.SURF"), 0.60f, 0.94f); + DetectorRotatationInvarianceTest test(Algorithm::create("Feature2D.SURF"), 0.60f, 0.76f); test.safe_run(); } TEST(Features2d_RotationInvariance_Detector_SIFT, regression) { - DetectorRotatationInvarianceTest test(Algorithm::create("Feature2D.SIFT"), 0.76f, 0.99f); + DetectorRotatationInvarianceTest test(Algorithm::create("Feature2D.SIFT"), 0.76f, 0.76f); test.safe_run(); }