opencv3中SURF特征提取
来源:互联网 发布:自学网络安全知乎 编辑:程序博客网 时间:2024/05/21 17:26
#include<opencv2/opencv.hpp>#include<iostream>#include<vector>using namespace cv;using namespace std;int main(){Mat srcImage1 = imread("mofang1.jpg");Mat srcImage2 = imread("mofang2.jpg");imshow("【原图1】", srcImage1);imshow("【原图2】", srcImage2);//首先对两幅图像进行特征点的检测//先准备参数vector<KeyPoint> keyPoint1;vector<KeyPoint> keyPoint2;SURF surf(2000);//2000为检测算子的阀值surf.detect(srcImage1, keyPoint1);surf.detect(srcImage2, keyPoint2);//利用得到的特征点计算特征描述子//目的:对得到的每个特征点进行特征描述,整合到Mat类型的矩阵中(计算结果是Mat类型的)//该得到的结果矩阵的行数就是特征点的个数,因为是对每个点进行描述,所以每行都会有一个描述的字子向量,共同构成Mat矩阵Mat descriImage1, descriImage2;surf.compute(srcImage1, keyPoint1, descriImage1);surf.compute(srcImage2, keyPoint2, descriImage2);//正式开始在两幅图像中进行匹配//先得到一个匹配向量BruteForceMatcher<L2<float>> BfMatcher;vector<DMatch> g_vMatches;//g_vMatches就是得到的匹配向量BfMatcher.match(descriImage1, descriImage2, g_vMatches);//用绘制函数对匹配向量进行绘制Mat dstImage;drawMatches(srcImage1, keyPoint1, srcImage2, keyPoint2, g_vMatches, dstImage, Scalar(theRNG().uniform(0, 255), theRNG().uniform(0, 255), theRNG().uniform(0, 255)), Scalar(theRNG().uniform(0, 255), theRNG().uniform(0, 255), theRNG().uniform(0, 255)), Mat(), 2);imshow("【特征提取后的图像】", dstImage);waitKey(0);return 0;}
0 0
- opencv3中SURF特征提取
- opencv3中SURF特征点检测
- SURF特征点提取
- SURF特征点提取
- SURF特征提取分析
- SURF特征提取分析
- SIFT SURF 特征提取
- 特征提取算法--Surf
- SURF特征提取
- SURF特征提取
- SURF特征提取简介
- SURF特征提取分析
- SURF特征提取
- opencv3.1 surf特征匹配
- opencv2.4.3中surf代码分析----(-)特征点提取
- opencv2.4.3中surf代码分析----特征点提取
- SURF 特征提取和匹配
- OpenCV 3 SURF 特征提取
- 关于ios审核被踢回的问题分析
- opencv3中SURF特征点检测-两幅图像进行比较
- 转载:iOS开发过程中的各种tips
- 别去考验友谊,因为当你知道了限度
- 分布式版本管理——git:常用命令
- opencv3中SURF特征提取
- 苹果拒绝app原因—图文详解—持续更新
- 最近整理的快捷键(Eclipse,Android Studio, Win10)
- IOS 遍历未知对象的属性和方法
- 为何不把握时间开发产品? 为何耗费宝贵的时间争论工作量? 将产品快速推向市场的铁三角: SEMAT Essence, 产品级敏捷与微服务架构
- opencv3中使用FLANN进行特征点匹配
- iOS下使用FFMPEG的一些总结
- C++设计模式——桥接模式
- git将本地仓库上传到远程仓库(转载)