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