opencv 的特征提取算子SIFT/ORB/SURF
生活随笔
收集整理的這篇文章主要介紹了
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cuda grid 和block理解(二
- 下一篇: 采用 opencv surf 算子进行特