OpenCV中的自定义SIFT检测器

时间:2014-03-31 16:15:54

标签: c++ opencv sift

有没有办法在OpenCV中指定自定义SIFT检测器参数?

似乎FeatureDetector constructor不接受任何参数,而似乎可以在SIFT constructor中指定这些参数。

我正在进行徽标检测。 一些徽标的纹理信息非常低,所以我想在太少的时候检测更多的关键点(我可以增加SIFT的edgeThreshold?)。

1 个答案:

答案 0 :(得分:1)

可以创建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> ) );