资源简介
浅墨出品,零资源分下载,分享精神至上~
运行可以看到两幅图中的SURF特征点检测效果,为稍后将放出的特征点匹配做准备~
程序的核心部分为OpenCV中的SurfFeatureDetector类和SurfDescriptorExtractor类。
博文《【OpenCV入门教程之十七】OpenCV重映射 & SURF特征点检测合辑》的配套详细注释源代码之一。
博文链接:
http://blog.csdn.net/poem_qianmo/article/details/30974513
1.已将dll打包到Release文件夹下,运行Release文件夹中的exe可以直接看到运行结果.
2.源代码运行需要进行OpenCV+VS开发环境的配置。可以参看我写的配置博文:
http://blog.csdn.net/poem_qianmo/article/details/19809337
3.编写环境:Visual Studio 2010
4.写作当前代码时配套使用的OpenCV版本: 2.4.9
5.推荐代码结合博文一起看,学习效果更佳。
by @浅墨_毛星云
代码片段和文件信息
//-----------------------------------【程序说明】----------------------------------------------
// 程序名称::《【OpenCV入门教程之十七】OpenCV重映射 & SURF特征点检测合辑 》 博文配套源码 之【SURF特征点检测】
// 开发所用IDE版本:Visual Studio 2010
// 开发所用OpenCV版本: 2.4.9
// 2014年6月15日 Created by 浅墨
// 配套博文链接: http://blog.csdn.net/poem_qianmo/article/details/30974513
// PS:程序结合配合博文学习效果更佳
// 浅墨的微博:@浅墨_毛星云 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 “opencv2/nonfree/nonfree.hpp“
#include
//-----------------------------------【命名空间声明部分】--------------------------------------
// 描述:包含程序所使用的命名空间
//-----------------------------------------------------------------------------------------------
using namespace cv;
//-----------------------------------【全局函数声明部分】--------------------------------------
// 描述:全局函数的声明
//-----------------------------------------------------------------------------------------------
static void ShowHelpText( );//输出帮助文字
//-----------------------------------【main( )函数】--------------------------------------------
// 描述:控制台应用程序的入口函数,我们的程序从这里开始执行
//-----------------------------------------------------------------------------------------------
int main( int argc char** argv )
{
//【0】改变console字体颜色
system(“color 2F“);
//【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】定义需要用到的变量和类
int minHessian = 400;//定义SURF中的hessian阈值特征点检测算子
SurfFeatureDetector detector( minHessian );//定义一个SurfFeatureDetector(SURF) 特征检测类对象
std::vector keypoints_1 keypoints_2;//vector模板类是能够存放任意类型的动态数组,能够增加和压缩数据
//【3】调用detect函数检测出SURF特征关键点,保存在vector容器中
detector.detect( srcImage1 keypoints_1 );
detector.detect( srcImage2 keypoints_2 );
//【4】绘制特征关键点
Mat img_keypoints_1; Mat img_keypoints_2;
drawKeypoints( srcImage1 keypoints_1 img_keypoints_1 Scalar::all(-1) DrawMatchesFlags::DEFAULT );
drawKeypoints( srcImage2 keypoints_2 img_keypoints_2 Scalar::all(-1) DrawMatchesFlags::DEFAULT );
//【5】显示效果图
imshow(“特征点检测效果图1“ img_keypoints_1 );
imshow(“特征点检测效果图2“ img_keypoints_2 );
waitKey(0);
return 0;
}
//-----------------------------------【ShowHelpText( )函数】----------------------------------
// 描述:输出一些帮助信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 68584 2014-06-10 12:51 OpenCVdemo15\OpenCVdemo15\1.jpg
文件 60922 2014-06-10 12:53 OpenCVdemo15\OpenCVdemo15\2.jpg
文件 3820 2014-06-15 11:58 OpenCVdemo15\OpenCVdemo15\main.cpp
文件 4404 2014-06-15 11:43 OpenCVdemo15\OpenCVdemo15\OpenCVdemo15.vcxproj
文件 942 2014-06-15 10:48 OpenCVdemo15\OpenCVdemo15\OpenCVdemo15.vcxproj.filters
文件 143 2014-06-15 10:46 OpenCVdemo15\OpenCVdemo15\OpenCVdemo15.vcxproj.user
文件 903 2014-06-15 10:46 OpenCVdemo15\OpenCVdemo15.sln
..A..H. 11776 2014-06-15 12:00 OpenCVdemo15\OpenCVdemo15.suo
文件 68584 2014-06-10 12:51 OpenCVdemo15\Release\1.jpg
文件 60922 2014-06-10 12:53 OpenCVdemo15\Release\2.jpg
文件 13312 2014-06-15 11:43 OpenCVdemo15\Release\OpenCVdemo15.exe
文件 406 2014-06-15 11:43 OpenCVdemo15\Release\OpenCVdemo15.exe.manifest
文件 617472 2014-06-15 11:43 OpenCVdemo15\Release\OpenCVdemo15.pdb
文件 2099200 2014-04-15 16:57 OpenCVdemo15\Release\opencv_core249.dll
文件 717824 2014-04-15 16:58 OpenCVdemo15\Release\opencv_features2d249.dll
文件 2080768 2014-04-15 16:58 OpenCVdemo15\Release\opencv_highgui249.dll
文件 1914368 2014-04-15 16:58 OpenCVdemo15\Release\opencv_imgproc249.dll
目录 0 2014-06-15 12:00 OpenCVdemo15\OpenCVdemo15
目录 0 2014-06-15 12:00 OpenCVdemo15\Release
目录 0 2014-06-15 12:00 OpenCVdemo15
----------- --------- ---------- ----- ----
7724350 20
- 上一篇:OpenCV图片翻转(重映射)程序 by浅墨
- 下一篇:stan参考手册
相关资源
- OpenCV图片翻转(重映射)程序 by浅墨
- OpenCV检测图片中的角点程序 by浅墨
- OpenCV直线检测程序 by浅墨
- OpenCV高级形态学程序 by浅墨
- OpenCV滚动条的创建程序 by浅墨
- OpenCV调整图片对比度&亮度 程序 by浅墨
- 云台控制程序,八个方向控制云台,
- 猫脸变换算法(Arnold)的简单实现C
- visual c++的几个经典小游戏
- C++Primer第四版书和代码(中文+英文双
- 推箱子小游戏 c++ wxwidgets code:blocks
- Modern C++ Programming Cookbook.pdf
- C++ 源码小游戏 超级玛丽,五子棋
- 可视化编程简单计算器用C++编程 课程
- VC++防火墙源代码
- Visual C++开发基于SNMP的网络管理软件
- 计算机图形学作品vc++
- C++ Templates(侯捷).zip
- C++硬盘扇区读写技术
- c++程序设计第二版 课件 北京邮电大学
- c++builder6.0开发的信息管理系统
- 点云压缩代码
- VC++6.0添加背景音乐的实现
- 数字签名 /C++/源代码
- 酒店管理系统源代码C++
- c++prime课后习题答案PDF版
- 基于OpenCV的步态能量图源代码GEI Gai
- 非线性滤波
- c++链接数据库用二进制存储图像,并
- VC++6.0小游戏--扫雷源代码
评论
共有 条评论