失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > opencv 的特征提取算子SIFT/ORB/SURF

opencv 的特征提取算子SIFT/ORB/SURF

时间:2024-01-19 13:32:50

相关推荐

opencv 的特征提取算子SIFT/ORB/SURF

源码

#include <opencv2/opencv.hpp>#include <opencv2/xfeatures2d.hpp>#include<iostream>#include<math.h>#include <string>#include<fstream>using namespace cv;using namespace std;using namespace cv::xfeatures2d;Mat src, graysrc;int minHesssian = 100;int maxhessian = 500;void Surf(int, void*) {// Ptr<SIFT> detector = SIFT::create(minHesssian);//SIFT算法//Ptr<KAZE> detector = KAZE::create(minHesssian); //Ptr<VGG> detector = VGG_120::create(minHesssian); //ORB算法//Ptr<ORB> detector = ORB::create(minHesssian); //ORB算法Ptr<SURF> detector = SURF::create(minHesssian);// SURF特征检测类,Ptr 智能指针vector<KeyPoint>keypoint;//特征点detector->detect(src,keypoint);//特征检测cout << "keypoint_size=" << keypoint.size() << endl;Mat dst;drawKeypoints(src, keypoint, dst, Scalar::all(-1), DrawMatchesFlags::DEFAULT);cv::imwrite("out.jpg", dst);imshow("output", dst);}int main() {src = imread("/home/ledi/视频/lena.png");imshow("input", src);//cvtColor(src, graysrc, CV_BGR2GRAY);Surf(0, 0);createTrackbar("yuzhi", "output", &minHesssian, maxhessian, Surf);waitKey(0);}

cmakelists

project( camer )find_package( OpenCV REQUIRED )include_directories( ${OpenCV_INCLUDE_DIRS} )add_executable( camer main.cpp )target_link_libraries( camer ${OpenCV_LIBS} )

如果觉得《opencv 的特征提取算子SIFT/ORB/SURF》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。