SURF keypoints' response is inaccurate in Windows x32 Release build (Bug #2696)
Description
I'm adding the following accuracy test to the OpenCV:
TEST(Features2d_RotationInvariance2_Detector_SURF, regression) { Mat cross(100, 100, CV_8UC1, Scalar(255)); line(cross, Point(30, 50), Point(69, 50), Scalar(100), 3); line(cross, Point(50, 30), Point(50, 69), Scalar(100), 3); SURF surf(8000., 3, 4, true, false); vector<KeyPoint> keypoints; surf(cross, noArray(), keypoints); ASSERT_EQ(keypoints.size(), 5); ASSERT_LT( fabs(keypoints[1].response - keypoints[2].response), 1e-6); ASSERT_LT( fabs(keypoints[1].response - keypoints[3].response), 1e-6); ASSERT_LT( fabs(keypoints[1].response - keypoints[4].response), 1e-6); }
It fails in Windows x32 Release build with /O2
compiler option, but doesn't with /O1
one.
It also passes on Windows x64 and Linux systems.
Associated revisions
Merge pull request #2696 from PhilLab:2.4
History
Updated by Vadim Pisarevsky about 12 years ago
- Affected version set to 2.4.3
- Target version deleted ()
Updated by Vadim Pisarevsky about 12 years ago
- Assignee deleted (
Maria Dimashova)
Updated by Vadim Pisarevsky about 12 years ago
- Category changed from features2d to nonfree
Updated by Vadim Pisarevsky about 12 years ago
- Assignee set to Vadim Pisarevsky
Updated by Kirill Kornyakov about 12 years ago
- Target version set to 2.4.4
Updated by Andrey Kamaev about 12 years ago
- Target version changed from 2.4.4 to 2.4.5
Updated by Andrey Kamaev almost 12 years ago
- Target version changed from 2.4.5 to Next Hackathon
Updated by Maksim Shabunin over 9 years ago
Issue has been transferred to GitHub: https://github.com/Itseez/opencv/issues/4484