SURF特征基本介绍 SURF(Speeded Up Robust Features)特征关键特性:
-特征检测
-尺度空间
-选择不变性
-特征向量 工作原理
. 选择图像中POI(Points of Interest) Hessian Matrix
. 在不同的尺度空间发现关键点,非最大信号压制
. 发现特征点方法、旋转不变性要求
. 生成特征向量 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...\n");
return -;
}
namedWindow("input image", CV_WINDOW_AUTOSIZE);
imshow("input image", src); //SURF特征检测
int minHessian = ;
Ptr<SURF> detector = SURF::create(minHessian);
vector<KeyPoint> keypoints;
detector->detect(src, keypoints, Mat());
//绘制关键点
Mat keypoint_img;
drawKeypoints(src, keypoints, keypoint_img, Scalar::all(-), DrawMatchesFlags::DEFAULT);
imshow("KeyPoints Image", keypoint_img); waitKey();
return ;
}

最新文章

  1. 【bzoj1601】[Usaco2008 Oct]灌水(MST)
  2. las数据集加载las数据
  3. Linux traceroute
  4. Quartz 定时任务管理
  5. java基础之 创建对象的几种方式
  6. UVa (二分) 11627 Slalom
  7. orcale 循环插入 测试数据
  8. [状压dp]POJ1185 炮兵阵地
  9. HTML新元素
  10. 鸟哥的linux私房菜——第20章 启动流程、模块管理与loader
  11. Object -C 数组 -- 笔记
  12. OC中NSString 的常用方法
  13. (Problem 42)Coded triangle numbers
  14. bootstrap轮播和百叶窗
  15. 请求转发 和 URL 重定向
  16. 错误:Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file
  17. MFC修改对话框标题
  18. 【Java】 剑指offer(6) 重建二叉树
  19. OC转场动画UIViewControllerTransitioningDelegate
  20. vue 父组件调用子组件方法

热门文章

  1. 解析 HTTP 请求 header 错误
  2. Linux MySQL-5.7 root初始密码修改
  3. .Net Standard(.Net Core)实现获取配置信息
  4. Spring Boot核心(基本配置)
  5. Java假期样卷 简易通讯录
  6. Flume和Kafka完成实时数据的采集
  7. wpf 使用矢量字体 fontawesome
  8. Spring boot 梳理 - Spring boot 与 JSP
  9. layui-table与layui-rate评分转换成星级的使用
  10. 校园网 虚拟机VMware Linux桥接模式 无法上网 问题