• 大小: 5.24MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-01
  • 语言: 其他
  • 标签: OpenCV  

资源简介

特征点匹配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\link.command.1.tlog
     文件        5740  2018-06-07 16:22  OpenCVdemo17\OpenCVdemo17\Release\OpenCVdemo17.tlog\link.read.1.tlog
     文件         500  2018-06-07 16:22  OpenCVdemo17\OpenCVdemo17\Release\OpenCVdemo17.tlog\link.write.1.tlog
     文件     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

评论

共有 条评论