欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

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

发布时间:2025/4/5 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。