【OpenCV】特征检测器FeatureDetector
2013-03-11 00:00
295 查看
int main() { initModule_nonfree();//if use SIFT or SURF Ptr detector = FeatureDetector::create( "SIFT" ); Ptr descriptor_extractor = DescriptorExtractor::crea http://www.szhaoexport.com/linked/20130310.do te( "SIFT" ); Ptr descriptor_matcher = DescriptorMatcher::create( "BruteForce" ); if( detector.empty() || descriptor_extractor.empty() ) throw runtime_error("fail to create detector!"); Mat img1 = imread("images\\box_in_scene.png"); Mat img2 = imread("images\\box.png"); //detect keypoints; vector keypoints1,keypoints2; detector->detect( img1, keypoints1 ); detector->detect( img2, keypoints2 ); cout <<"img1:"<< keypoints1.size() << " points img2:" <" << endl; //compute descriptors for keypoints; cout << "< Computing descriptors for keypoints from images..." << endl; Mat descriptors1,descriptors2; descriptor_extractor->compute( img1, keypoints1, descriptors1 ); descriptor_extractor->compute( img2, keypoints2, descriptors2 ); cout<"<" << endl; //Draw And Match img1,img2 keypoints Mat img_keypoints1,img_keypoints2; drawKeypoints(img1,keypoints1,img_keypoints1,Scalar::all(-1),0); drawKeypoints(img2,keypoints2,img_keypoints2,Scalar::all(-1),0); imshow("Box_in_scene keyPoints",img_keypoints1); imshow("Box keyPoints",img_keypoints2); descriptor_extractor->compute( img1, keypoints1, descriptors1 ); vector matches; descriptor_matcher->match( descriptors1, descriptors2, matches ); Mat img_matches; drawMatches(img1,keypoints1,img2,keypoints2,matches,img_matches,Scalar::all(-1),CV_RGB(255,255,255),Mat(),4); imshow("Mathc",img_matches); waitKey(10000); return 0; } 特征检测成果如图: http://www.6699ysk.info/linked/20130310.do[/code]
相关文章推荐
- SIFT算法原理与OpenCV源码分析6:OpenCV实现SIFT算法,特征检测器FeatureDetector
- Opencv特征检测使用问题create is not a member of ‘cv::FeatureDetector {aka cv::Feature2D}’
- Opencv2.4.9源码分析——DenseFeatureDetector
- opencv “未声明的标识符:SurfFeatureDetector”问题解决办法
- opencv2.4.5正确调用SurfFeatureDetector,SiftFeatureDetector
- mexopencv-利用orb feature detector 提取和匹配特征
- 【Detector】【Descriptor】尺度不变特征转换(Scale-invariant feature transform 或 SIFT)
- opencv2.4.5正确调用SurfFeatureDetector,SiftFeatureDetector
- opencv--feature2d之FeatureDetector
- 【OpenCV2.3特征检测与描述】Feature Detection and Description
- OPENCV中特征点的分类_检测器_描述器
- opencv3.0中SiftFeatureDetector不在cv命名空间下的解决办法
- opencv学习-feature-Harris corner detector
- SURF特征点检测--SurfFeatureDetector、SurfDescriptorExtractor和FlannBasedMatcher
- OpenCV之feature2d 模块. 2D特征框架(1)Harris 角点检测子 Shi-Tomasi角点检测子 定制化创建角点检测子 亚像素级的角点检测 特征点检测
- OpenCV之特征检测器(Feature Detector),描述子提取器(Descriptor Extractor)和描述子匹配器(Descriptor Matcher)
- opencv学习-feature-Shi-Tomasi corner detector
- OpenCV之feature2d 模块. 2D特征框架(2)特征描述 使用FLANN进行特征点匹配 使用二维特征点(Features2D)和单映射(Homography)寻找已知物体 平面物体检测
- OpenCV - undefined reference: SurfFeatureDetector and BruteForceMatcher
- opencv3中SurfFeatureDetector、SurfDescriptorExtractor、BruteForceMatcher的使用 opencv2中SurfFeatureDetector