OpenCV-4.5 SURF API
OpenCV 4.4.0 中SIFT专利到期 SIFT方法已经回归主库 使用时 cv::SIFT即可 , SURF还在nofree中 相较于之前版本 头文件不在 #include <opencv2/xfeatures2d.hpp> 而在 #include <opencv2/xfeatures2d/nonfree.hpp>中
opencv3.X以后中SurfFeatureDetector、SurfDescriptorExtractor、BruteForceMatcher这三个的使用方法已经和原先2.4版本前不一样,一般通过指针访问 最好看一下继承关系
老版多用类
SurfFeatureDetector detector(minHessian);//定义一个SurfFeatureDetector(SURF) 特征检测类对象
detector.detect(srcImage1, keypoints_1);SurfDescriptorExtractor extractor; //定义一个特征点描述子
extractor.compute(srcImage1, keypoints_1, descriptors1);//计算描述符BruteForceMatcher<L2<float>>matcher;//创建一个暴力匹配器
matcher.match(descriptors1, descriptors2, BFmatches);
新版多用智能指针
Ptr<SURF> detector = SURF::create(minHessian);detector->detect(img_1, keypoints_1);Ptr<SURF> extractor = SURF::create();extractor->compute(img_1, keypoints_1, descriptors_1);Ptr<DescriptorMatcher> matcher = DescriptorMatcher::create("BruteForce");//这里填写使用的匹配方式
matcher->match(descriptors_1, descriptors_2, matches);
对于匹配器的调用
static Ptr<DescriptorMatcher> cv::DescriptorMatcher::create(const String & descriptorMatcherType)
descriptorMatcherType |
Descriptor matcher type. Now the following matcher types are supported:
|
SiftDescriptorExtractor,有的是uchar类型的,比如说有ORB,BriefDescriptorExtractor。对应float类型的匹配方式有:FlannBasedMatcher,BruteForce<L2<float>>,BruteForce<SL2<float>>,BruteForce<L1<float>>。对应uchar类型的匹配方式有:BruteForce<Hammin>,BruteForce<HammingLUT>。所以ORB和BRIEF特征描述子只能使用BruteForce匹配法。
新版匹配器也常用派生类直接调用
BFMatcher BFmatch;
FlannBasedMatcher FLANNmatch;
https://blog.csdn.net/holybin/article/details/40926315
https://blog.csdn.net/xxzxxzdlut/article/details/72926011?spm=1001.2014.3001.5506
OpenCV-4.5 SURF API相关推荐
- OpenCV中的SURF(Speeded-Up Robust Features 加速鲁棒特征)
OpenCV中的SURF(加速健壮功能) 1. 效果图 2. 原理 2.1 为什么SURF比SIFT快? 2.3 怎样获取SIFT与SURF? 3. 源码 参考 上一篇博客介绍了用于关键点检测和描述的 ...
- OpenCV gapi模块基本API的实例(附完整代码)
OpenCV gapi模块基本API的实例 OpenCV gapi模块基本API的实例 OpenCV gapi模块基本API的实例 #include <opencv2/videoio.hpp&g ...
- OpenCV textDetectionModel和textRecognitionModel API的端到端的实例(附完整代码)
OpenCV textDetectionModel和textRecognitionModel API的端到端的实例 OpenCV textDetectionModel和textRecognitionM ...
- 【OpenCV入门教程之十七】OpenCV重映射 SURF特征点检测合辑
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/30974513 作者:毛星云(浅墨) ...
- java opencv surf_opencv python SURF
理论 在上一章中,我们看到了SIFT的关键点检测和描述,但它相对较慢,人们需要更加快速的版本,所以2006年引入了一种名为SURF的新算法, 顾名思义,它是SIFT的加速版本. 作为尺度不变特征变换( ...
- OpenCV系列之SURF简介(加速的强大功能)| 四十
目标 在这一章当中, 我们将了解SURF的基础 我们将在OpenCV中看到SURF函数 理论 在上一章中,我们看到了SIFT用于关键点检测和描述符.但相对缓慢,人们需要更多的加速版本.2006年,三个 ...
- Opencv Sift和Surf特征实现图像无缝拼接生成全景图像
Sift和Surf算法实现两幅图像拼接的过程是一样的,主要分为4大部分: 1. 特征点提取和描述 2. 特征点配对,找到两幅图像中匹配点的位置 3. 通过配对点,生成变换矩阵,并对图像1应用变换矩阵生 ...
- OpenCV中的SURF特征检测、匹配与对象查找
SURF算法工作原理 选择图像中的POI(Points of interest) Hessian Matrix 在不同的尺度空间发现关键点,非最大信号压制 发现特征点方法.旋转不变性要求 生成特征向量 ...
- 解决OpenCV中SIFT,SURF不能使用,修改成ORB检测特征
我们知道因为一些专利的原因,SIFT和SURF不能再OpenCV后续的版本中继续使用.所以我们可以用OpenCV自带的其他检测器:Oriented FAST and Rotated BRIEF.引用官 ...
最新文章
- python能干啥、实际生活-学习Python可以做什么?从事哪些岗位?
- OSPF——多区域概念及配置、ABR简介、ASBR简介、路由重分发
- 大屏数据可视化设计注意事项
- C语言冒泡排序三种写法,冒泡排序的三种实现方法
- C向Python正确传递数组的代码
- Python面试宝典
- 未来教育mysql下载_未来教育计算机二级题库中的视频为什么无法播放
- 前沿重器[21] | 聊聊对话系统:概述
- PAT A1002 A+B for Polynomials (25 分)
- 工厂食堂3D指纹考勤系统解决方案
- KingbaseES Clusterware 高可用案例之---构建iSCSI共享存储
- [转]WIN MOBILE UI开发入门
- 苹果IAP内购验证工具类
- Hibernate简单配置
- XManager5 ssh远程登录服务器工具xshell ,服务器资源上传下载工具xftp
- 一个ADC做多个按键扫描检测
- 下载W ndows桌面,远程桌面连接Wndows 7常见故障解决方法.doc
- MinGW64的使用
- My Seventh Page - 设计链表 - By Nicolas
- 用学过的python写一个计算三角形面积和周长