有没有办法在OpenCV中指定自定义SIFT检测器参数?
似乎FeatureDetector constructor不接受任何参数,而似乎可以在SIFT constructor中指定这些参数。
我正在进行徽标检测。 一些徽标的纹理信息非常低,所以我想在太少的时候检测更多的关键点(我可以增加SIFT的edgeThreshold?)。
答案 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> ) );