From 31c59d09777c067b6e758c9f01b9c56ada9e6405 Mon Sep 17 00:00:00 2001 From: matlabbe Date: Tue, 22 Sep 2026 09:48:45 -0700 Subject: [PATCH] No response filtering here: cv::goodFeaturesToTrack() already applies GFTT/QualityLevel, relative to the best corner's measure. Re-applying it as an absolute floor on KeyPoint::response double-filtered (~86% of keypoints ropped on OpenCV 4.5), and dropped *every* keypoint on OpenCV < 4.5, whose GFTTDetector leaves response at 0. --- corelib/src/Features2d.cpp | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/corelib/src/Features2d.cpp b/corelib/src/Features2d.cpp index ecb637ee..8de873d9 100644 --- a/corelib/src/Features2d.cpp +++ b/corelib/src/Features2d.cpp @@ -2282,20 +2282,6 @@ std::vector GFTT::generateKeypointsImpl(const cv::Mat & image, con _gftt->detect(imgRoi, keypoints, maskRoi); // Opencv keypoints } - if(!_useHarrisDetector && _qualityLevel>0.0) - { - std::vector bestKeypoints; - bestKeypoints.reserve(keypoints.size()); - for(size_t i=0; i _qualityLevel) - { - bestKeypoints.push_back(keypoints[i]); - } - } - - return bestKeypoints; - } return keypoints; }