【发布时间】:2014-05-07 11:17:33
【问题描述】:
有什么方法可以将 OPENCV SURF 中的关键点数限制为 100 个? 得到的关键点会按照强度排序吗? 如何获取描述符的强度? 我正在使用 cpp 程序在 LINUX 系统中开发 OPENCV。
问候, 石家庄
我的代码是: int main(int argc, char** argv) {
Mat img_1 = imread( argv[1], CV_LOAD_IMAGE_GRAYSCALE );
Mat img_2 = imread( argv[2], CV_LOAD_IMAGE_GRAYSCALE );
//-- Step 1: Detect the keypoints using SURF Detector
int minHessian = 500;
SurfFeatureDetector detector( minHessian,1,2,false,true );
std::vector<KeyPoint> keypoints_1p;
std::vector<KeyPoint> keypoints_2p;
detector.detect( img_1, keypoints_1p );
detector.detect( img_2, keypoints_2p);
// computing descriptors
SurfDescriptorExtractor extractor(minHessian,1,1,1,0);
Mat descriptors1, descriptors2;
extractor.compute(img_1, keypoints_1p, descriptors1);
extractor.compute(img_2, keypoints_2p, descriptors2);
【问题讨论】: