资源简介
特征点匹配Demo,可以实现特征点的匹配,使用SURF算法
代码片段和文件信息
//-----------------------------------【程序说明】----------------------------------------------
// 程序名称::《【OpenCV入门教程之十八】OpenCV仿射变换 & SURF特征点描述合辑》 博文配套源码 之 SURF特征描述
// 开发所用IDE版本:Visual Studio 2010
// 开发所用OpenCV版本: 2.4.9
// 2014年6月 Created by 浅墨
// 浅墨的微博:@浅墨_毛星云 http://weibo.com/1723155442
// 浅墨的知乎:http://www.zhihu.com/people/mao-xing-yun
// 浅墨的豆瓣:http://www.douban.com/people/53426472/
//----------------------------------------------------------------------------------------------
//-----------------------------------【头文件包含部分】---------------------------------------
// 描述:包含程序所依赖的头文件
//----------------------------------------------------------------------------------------------
#include “opencv2/core/core.hpp“
#include “opencv2/features2d/features2d.hpp“
#include “opencv2/highgui/highgui.hpp“
#include
#include
#include
//-----------------------------------【命名空间声明部分】--------------------------------------
// 描述:包含程序所使用的命名空间
//-----------------------------------------------------------------------------------------------
using namespace cv;
using namespace std;
//-----------------------------------【全局函数声明部分】--------------------------------------
// 描述:全局函数的声明
//-----------------------------------------------------------------------------------------------
static void ShowHelpText( );//输出帮助文字
//-----------------------------------【main( )函数】--------------------------------------------
// 描述:控制台应用程序的入口函数,我们的程序从这里开始执行
//-----------------------------------------------------------------------------------------------
int main( )
{
//【0】改变console字体颜色
system(“color 1A“);
//【0】显示欢迎和帮助文字
ShowHelpText( );
//【1】载入素材图
Mat srcImage1 = imread(“1.jpg“1);
Mat srcImage2 = imread(“2.jpg“1);
if( !srcImage1.data || !srcImage2.data )
{ printf(“读取图片错误,请确定目录下是否有imread函数指定的图片存在~! \n“); return false; }
imshow(“原始图1“srcImage1);
imshow(“原始图2“srcImage2);
//【2】使用SURF算子检测关键点
int minHessian =20000;//SURF算法中的hessian阈值
SurfFeatureDetector detector( minHessian );//定义一个SurfFeatureDetector(SURF) 特征检测类对象
std::vector keyPoint1 keyPoints2;//vector模板类,存放任意类型的动态数组
//【3】调用detect函数检测出SURF特征关键点,保存在vector容器中
detector.detect( srcImage1 keyPoint1 );
detector.detect( srcImage2 keyPoints2 );
//【4】计算描述符(特征向量)
SurfDescriptorExtractor extractor;
Mat descriptors1 descriptors2;
extractor.compute( srcImage1 keyPoint1 descriptors1 );
extractor.compute( srcImage2 keyPoints2 descriptors2 );
//【5】使用BruteForce进行匹配
// 实例化一个匹配器
BruteForceMatcher< L2 > matcher;
std::vector< DMatch > matches;
//匹配两幅图中的描述子(descriptors)
matcher.match( descriptors1 descriptors2 matches );
//【6】绘制从两个图像中匹配出的关键点
Mat imgMatches;
drawMatches( srcImage1 keyPoint1 srcImage2 keyPoints2 matches imgMatches );//进行绘制
//【7】显示效果图
imshow(“匹配图“ imgMatches );
waitKe
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-07 16:23 OpenCVdemo17\
目录 0 2018-06-07 16:22 OpenCVdemo17\OpenCVdemo17\
文件 114296 2018-06-07 15:25 OpenCVdemo17\OpenCVdemo17\1.jpg
文件 88845 2018-06-07 15:28 OpenCVdemo17\OpenCVdemo17\2.jpg
文件 5943 2018-06-07 15:22 OpenCVdemo17\OpenCVdemo17\OpenCVdemo17.vcxproj
文件 942 2014-06-19 14:58 OpenCVdemo17\OpenCVdemo17\OpenCVdemo17.vcxproj.filters
文件 143 2014-06-19 14:57 OpenCVdemo17\OpenCVdemo17\OpenCVdemo17.vcxproj.user
目录 0 2018-06-07 16:23 OpenCVdemo17\OpenCVdemo17\Release\
文件 114296 2018-06-07 15:25 OpenCVdemo17\OpenCVdemo17\Release\1.jpg
文件 88845 2018-06-07 15:28 OpenCVdemo17\OpenCVdemo17\Release\2.jpg
文件 16896 2018-06-07 16:22 OpenCVdemo17\OpenCVdemo17\Release\OpenCVdemo17.exe
文件 178 2018-06-07 16:22 OpenCVdemo17\OpenCVdemo17\Release\OpenCVdemo17.log
文件 961536 2018-06-07 16:22 OpenCVdemo17\OpenCVdemo17\Release\OpenCVdemo17.pdb
目录 0 2018-06-07 16:22 OpenCVdemo17\OpenCVdemo17\Release\OpenCVdemo17.tlog\
文件 16418 2018-06-07 16:22 OpenCVdemo17\OpenCVdemo17\Release\OpenCVdemo17.tlog\CL.read.1.tlog
文件 506 2018-06-07 16:22 OpenCVdemo17\OpenCVdemo17\Release\OpenCVdemo17.tlog\CL.write.1.tlog
文件 196 2018-06-07 16:22 OpenCVdemo17\OpenCVdemo17\Release\OpenCVdemo17.tlog\OpenCVdemo17.lastbuildstate
文件 738 2018-06-07 16:22 OpenCVdemo17\OpenCVdemo17\Release\OpenCVdemo17.tlog\cl.command.1.tlog
文件 2230 2018-06-07 16:22 OpenCVdemo17\OpenCVdemo17\Release\OpenCVdemo17.tlog\li
文件 5740 2018-06-07 16:22 OpenCVdemo17\OpenCVdemo17\Release\OpenCVdemo17.tlog\li
文件 500 2018-06-07 16:22 OpenCVdemo17\OpenCVdemo17\Release\OpenCVdemo17.tlog\li
文件 1253104 2018-06-07 16:22 OpenCVdemo17\OpenCVdemo17\Release\main.obj
文件 872448 2018-06-07 16:22 OpenCVdemo17\OpenCVdemo17\Release\vc120.pdb
文件 3876 2018-06-07 16:21 OpenCVdemo17\OpenCVdemo17\main.cpp
文件 14155776 2018-06-07 16:23 OpenCVdemo17\OpenCVdemo17.sdf
文件 903 2014-06-19 14:57 OpenCVdemo17\OpenCVdemo17.sln
文件 11776 2014-06-22 15:43 OpenCVdemo17\OpenCVdemo17.suo
文件 23040 2018-06-07 16:23 OpenCVdemo17\OpenCVdemo17.v12.suo
- 上一篇:结构力学求解器3D版试用60天
- 下一篇:HFSS17.2破解文件
相关资源
- catkin_ws.tar.gz ROS下实现图片ORB特征匹
- OpenCV2.2 64位
- 基于SVM的手写数字识别Opencv+图像集
- 利用OpenCV(2.4.13)的SURF/SIFT + RANSAC
- asm算法 opencv实现
- OpenCV2.4.9_基于背景差分法的视频目标
- 基于OpenCV的疲劳驾驶检测系统的设计
- OpenCV三维重构代码
- 双目测距-opencv
- opencv人脸/人眼/人体识别分类器
- opencv4.0结合TensorFlow实现mask rcnn的目标
- opencv+qt通过CGI读取网络摄像头工程
- 安装opencv342缺失的boostdesc_bgm.i系列文
- OpenCV2.4.4实现HOG行人检测
- opencv的运动跟踪
- sift算法VC实现需要OPENCV
- opencv标定单目相机
- opencv 数字识别
- itti视觉显著性计算模型opencv实现
- 异常行为检测
- qt+opencv视频图像采集与基于tcp协议的
- opencv2.4.3和4.0函数手册带目录可搜索
- 遗留物检测
- 笔记本OpenCV调用摄像头进行人脸捕捉
- VS+OPENCV手势识别
- opencv下haarclassifiercascade加上LBPHFaceRe
- 图片动漫风格化
- 基于SVM与ANN的车牌识别
- OpenCV实现同一窗口显示多幅图片
- haar特征的手势检测OpenCV
评论
共有 条评论