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;
    }
  • 相关阅读:
    关于接口是值类型还是引用类型的猜测
    絮语工作四年的碎碎念
    烧钱游戏加入创业公司的一些感想
    关于C#调用非托管动态库方式的性能疑问
    couchbase作为分布式session容器时的注意事项
    poj3624
    明天的下载链接
    poj 1502
    poj1459 多源多汇最大流
    poj 3041
  • 原文地址:https://www.cnblogs.com/osbreak/p/11643157.html
Copyright © 2011-2022 走看看