有没有办法在 OpenCV 中指定自定义 SIFT 检测器参数?
似乎FeatureDetector constructor不接受任何参数,而似乎可以在 SIFT constructor 中指定这些参数.
我正在研究 Logo 检测。 一些标志的纹理信息非常少,所以我想在太少的时候检测更多的关键点(我可以增加 SIFT 的 edgeThreshold 吗?)。
最佳答案
可以创建 custom SIFT descriptor extractor :
SIFT siftDetectorExtractor = SIFT(200, 3, 0.04, 15, 1.6);
Mat logo = imread("logoName.jpg");
vector<KeyPoint> keyPoints;
Mat sifts;
siftDetectorExtractor(logo, Mat(), keyPoints, sifts);
或者使用检测类:
Ptr<FeatureDetector> detector = Ptr<FeatureDetector>( new SIFT( <your arguments> ) );
关于c++ - OpenCV 中的自定义 SIFT 检测器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22766767/