zoukankan      html  css  js  c++  java
  • opencv::SURF特征

    SURF特征基本介绍 SURF(Speeded Up Robust Features)特征关键特性: 
    -特征检测 
    -尺度空间 
    -选择不变性 
    -特征向量 
    
    工作原理 
    1. 选择图像中POI(Points of Interest) Hessian Matrix 
    2. 在不同的尺度空间发现关键点,非最大信号压制 
    3. 发现特征点方法、旋转不变性要求 
    4. 生成特征向量
    
    SURF特征提取代码演示
    -upright          // 0- 表示计算选择不变性,1表示不计算,速度 更快 
    -HessianThreshold // 默认值在300~500之间 
    -Octaves          // 4表示在四个尺度空间 
    -OctaveLayers     // 表示每个尺度的层数 
    #include <opencv2/opencv.hpp>
    #include <opencv2/xfeatures2d.hpp>
    #include <iostream>
    
    using namespace cv;
    using namespace cv::xfeatures2d;
    using namespace std;
    
    int main(int argc, char** argv) {
        Mat src = imread("D:/vcprojects/images/test.png", IMREAD_GRAYSCALE);
        if (src.empty()) {
            printf("could not load image...
    ");
            return -1;
        }
        namedWindow("input image", CV_WINDOW_AUTOSIZE);
        imshow("input image", src);
        
        //SURF特征检测
        int minHessian = 100;
        Ptr<SURF> detector = SURF::create(minHessian);
        vector<KeyPoint> keypoints;
        detector->detect(src, keypoints, Mat());
        //绘制关键点
        Mat keypoint_img;
        drawKeypoints(src, keypoints, keypoint_img, Scalar::all(-1), DrawMatchesFlags::DEFAULT);
        imshow("KeyPoints Image", keypoint_img);
    
        waitKey(0);
        return 0;
    }
  • 相关阅读:
    terminator shortcut
    支付宝集成错误
    null与DBNULL
    linode接连出问题,我也没看懂英文
    ruby 日期 好函数
    ruby datetime
    act as tree插件
    ruby 时间
    ruby规则引擎
    on ,type等关键词,使用
  • 原文地址:https://www.cnblogs.com/osbreak/p/11643157.html
Copyright © 2011-2022 走看看