zoukankan      html  css  js  c++  java
  • SURF特征点检测实现

    SURF特征点检测的实现如下所示:

    SURF函数的用法:

    一般create()用minHessian即可

     

     

     

     代码:

     1 #include <opencv2/opencv.hpp>
     2 #include <opencv2/xfeatures2d.hpp>
     3 #include <iostream>
     4 
     5 using namespace cv;
     6 using namespace cv::xfeatures2d;
     7 using namespace std;
     8 
     9 int main(int argc, char** argv) {
    10     Mat src = imread("L:/4.jpg", IMREAD_GRAYSCALE);
    11     //将读取的图片,读成灰度图片
    12     if (src.empty()) {
    13         printf("could not load image...
    ");
    14         return -1;
    15     }
    16     namedWindow("input image", CV_WINDOW_AUTOSIZE);
    17     imshow("input image", src);
    18 
    19     // SURF特征检测
    20     int minHessian = 100;
    21     Ptr<SURF> detector = SURF::create(minHessian);  //定义一个SURF类型的指针detector,创建最小海深矩阵
    22     vector<KeyPoint> keypoints;                     //定义KeyPoint类型变量
    23     detector->detect(src, keypoints, Mat());        //detect函数开始检测
    24 
    25     // 绘制关键点
    26     Mat keypoint_img;
    27     drawKeypoints(src, keypoints, keypoint_img, Scalar::all(-1), DrawMatchesFlags::DEFAULT);
    28     //绘制关键点的函数:1.输入图像 2.检测出的关键点 3.输出图像 4.颜色自动 5.默认为小圆圈
    29     imshow("KeyPoints Image", keypoint_img);
    30 
    31     waitKey(0);
    32     return 0;
    33 }

    结果显示:

  • 相关阅读:
    supervisor 简单使用
    golang的表格驱动测试
    golang和python的二进制转换
    django-rest-framework-jwt的使用
    threading.local在flask中的用法
    分布式的两种算法
    第24课
    Mock以及Mockito的使用
    java下使用chromedriver获取访问页面状态码
    Mockito:一个强大的用于Java开发的模拟测试框架
  • 原文地址:https://www.cnblogs.com/Jack-Elvis/p/11683893.html
Copyright © 2011-2022 走看看