OpenCV之特征检测器(Feature Detector),描述子提取器(Descriptor Extractor)和描述子匹配器(Descriptor Matcher)

1.特征检测子

    -Harris

cv::cornerHarris(image,strength,3,3,0.01);

    -Fast

cv::Ptr fast = cv::FastFeatureDetector::create();
//或
cv::FAST(InputArray image, std::vector &keypoints, int threshold)
//或
cv::FAST(InputArray image, std::vector &keypoints, int threshold, bool nonmaxSuppression, int type)

    -SIFT

cv::Ptr sift = cv::xfeatures2d::SIFT::create();
//或
cv::Ptr sift = cv::xfeatures2d::SiftFeatureDetector::create();

 
  

    -SURF

cv::Ptr surf = cv::xfeatures2d::SURF::create();
//或
cv::Ptr surf = cv::xfeatures2d::SurfFeatureDetector::create();

    -ORB

cv::Ptr orb = cv::ORB::create();

    -MSER

cv::Ptr mser = cv::MSER::create();

    -GFTT

cv::Ptr gftt = cv::GFTTDetector::create();

或者直接用goodFeaturesToTrack function;

    -AGAST

cv::AGAST(InputArray image, std::vector &keypoints, int threshold)
//或
cv::AGAST(InputArray image, std::vector &keypoints, int threshold, bool nonmaxSuppression, int type)
//或
cv::Ptr agast = cv::AgastFeatureDetector::create();

    -BRISK

cv::Ptr brisk = cv::BRISK::create();


    -SimpleBlob

cv::Ptr blob = cv::SimpleBlobDetector::create();

    -KAZE

cv::Ptr kaze = cv::KAZE::create();

    -AKAZE

cv::Ptr akaze = cv::AKAZE::create();

2.描述子提取器

    -SIFT

cv::Ptr sift = cv::xfeatures2d::SIFT::create();
//或
cv::Ptr sift = cv::xfeatures2d::SiftDescriptorExtractor::create();

    -SURF

cv::Ptr surf = cv::xfeatures2d::SURF::create();
//或
cv::Ptr surf = cv::xfeatures2d::SurfDescriptorExtractor::create();

    -BRIEF

Opencv中没有单独将BRIEF用来提取描述子,因为它是被用于ORB中的;

    -BRISK

cv::Ptr brisk = cv::BRISK::create();

    -ORB

cv::Ptr orb = cv::ORB::create();
ORB是用fast特征; 

   -KAZE

cv::Ptr kaze = cv::KAZE::create();

注:KAZE描述子只能使用KAZE或AKAZE特征点;

    -AKAZE

cv::Ptr akaze = cv::AKAZE::create();

同样,AKAZE描述子也只能使用KAZE或AKAZE特征点;

3.描述子匹配器

   -BruteForce-BFMatcher

cv::Ptr bf = cv::BFMatcher::create("BruteForce");

其中,匹配类型还可以是“BruteForce-L1”,“BruteForce-L2”,“BruteForce-Hamming”;

   -FlannBased-FlannBasedMatcher

cv::Ptr flann = cv::FlannBasedMatcher::create("FlannBased");



你可能感兴趣的:(Computer,Vision,#,OpenCV,C/C++,#,图像处理与计算机视觉)