资源简介
这是VS2010+opencv2.4.10的SURF工程项目,下载并配置好了就可以使用;如使用其他版本的VS或opencv,则使用其中的源码并新建项目即可。
注:SURF源码本是英文注释,CSDN博主hujingshuang改成了中文注释,以方便大家理解学习,如有出入请以英文源码为准。
代码片段和文件信息
/***********************************************************
* --- OpenSURF --- *
* This library is distributed under the GNU GPL. Please *
* use the contact form at http://www.chrisevansdev.com *
* for more information. *
* *
* C. Evans Research Into Robust Visual Features *
* MSc University of Bristol 2008. *
* *
************************************************************/
/***********************************************************
* translated by Mr.Hu(Graduate Student of SWJTU) *
* His E-mail is eleftheria@163.com *
************************************************************/
#include “surflib.h“
#include “kmeans.h“
#include
#include
//-------------------------------------------------------
//为方便您能使用OpenSURF对你能做一些简单的任务做如下说明。
//您只能使用其中一个函数来实现SURF特征提取!
//通过宏定义PROCEDURE的值来明确:
// - 1 在提供的路径的静态图片上使用
// - 2 从网络摄像头获取
// - 3 在图片中找到匹配的目标
// - 4 显示移动特征
// - 5 显示静态图像之间的匹配
#define PROCEDURE 5
//-------------------------------------------------------
// - 1 在提供的路径的静态图片上使用
int mainImage(void)
{
//声明描述Ipoints的向量(Ipoints=Interest points,即:兴趣点/关键点/特征点)
IpVec ipts;
IplImage *img=cvLoadImage(“imgs/sf.jpg“);//载入图片(静态图)
//检测图像中的特征点,其特征描述存放于向量ipts中
clock_t start = clock();//计时开始
surfDetDes(img ipts false 5 4 2 0.0004f);
clock_t end = clock();//停止计时
std::cout<< “OpenSURF found: “ << ipts.size() << “ interest points“ << std::endl;//打印出找到的特征点个数
std::cout<< “OpenSURF took: “ << float(end - start) / CLOCKS_PER_SEC << “ seconds“ << std::endl;//打印算法用时
// 画出检测到的特征点
drawIpoints(img ipts);
// 显示结果
showImage(img);
return 0;
}
//-------------------------------------------------------
// - 2 从网络摄像头获取
int mainVideo(void)
{
//初始化摄像头捕捉设备
CvCapture* capture = cvCaptureFromCAM( CV_CAP_ANY );
if(!capture) error(“No Capture“);
// 初始化视频写入
//cv::VideoWriter vw(“c:\\out.avi“ CV_FOURCC(‘D‘‘I‘‘V‘‘X‘)10cvSize(320240)1);
//vw << img;
//创建一个窗口
cvNamedWindow(“OpenSURF“ CV_WINDOW_AUTOSIZE );
//声明特征向量
IpVec ipts;
IplImage *img=NULL;
//主循环
while( 1 )
{
//捕捉一帧画面
img = cvQueryframe(capture);
//提取surf特征点
surfDetDes(img ipts false 4 4 2 0.004f);
//画出检测到的特征
drawIpoints(img ipts);
//绘制帧图片
drawFPS(img);
//显示结果
cvShowImage(“OpenSURF“ img);
//按Esc键结束循环
if( (cvWaitKey(10) & 255) == 27 ) break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( “OpenSURF“ );
return 0;
}
//-------------------------------------------------------
// - 3 在图片中找到匹配的目标
int mainMatch(void)
{
//初始化视频捕获设备
CvCapture* capture = cvCaptureFromCAM( CV_CAP_ANY );
if(!capture) error(“No Ca
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3490 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\cl.command.1.tlog
文件 111040 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\CL.read.1.tlog
文件 1858 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\CL.write.1.tlog
文件 294546 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\demo.obj
文件 307128 2015-04-20 10:20 SURF源码(opencv中文注释)\SURF算法\Debug\fasthessian.obj
文件 88557 2015-04-20 10:20 SURF源码(opencv中文注释)\SURF算法\Debug\integral.obj
文件 306304 2015-04-20 10:20 SURF源码(opencv中文注释)\SURF算法\Debug\ipoint.obj
文件 2 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\li
文件 2 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\li
文件 2 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\li
文件 2 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\li
文件 2 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\li
文件 2 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\li
文件 2786 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\li
文件 5278 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\li
文件 958 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\li
文件 344 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\mt.command.1.tlog
文件 306 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\mt.read.1.tlog
文件 238 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\mt.write.1.tlog
文件 446 2015-04-20 10:20 SURF源码(opencv中文注释)\SURF算法\Debug\rc.command.1.tlog
文件 210 2015-04-20 10:20 SURF源码(opencv中文注释)\SURF算法\Debug\rc.read.1.tlog
文件 218 2015-04-20 10:20 SURF源码(opencv中文注释)\SURF算法\Debug\rc.write.1.tlog
文件 219360 2015-04-20 10:20 SURF源码(opencv中文注释)\SURF算法\Debug\surf.obj
文件 209408 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\SURF算法.exe
文件 406 2015-04-20 10:20 SURF源码(opencv中文注释)\SURF算法\Debug\SURF算法.exe.em
文件 472 2015-04-20 10:20 SURF源码(opencv中文注释)\SURF算法\Debug\SURF算法.exe.em
文件 381 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\SURF算法.exe.intermediate.manifest
文件 1065812 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\SURF算法.ilk
文件 53 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\SURF算法.lastbuildstate
文件 4198 2015-04-20 10:24 SURF源码(opencv中文注释)\SURF算法\Debug\SURF算法.log
............此处省略50个文件信息
- 上一篇:Sata统计分析
- 下一篇:粒子滤波Rob Hess源码.rar
相关资源
- 二值图像的形状特征提取并显示在图
- opencv 轮廓的提取多种方法
- 炫酷九宫格抽奖demo
-
ob
jectMarker正样本采集 - 基于opencv的图像去噪源代码
- opencv图像校正摄像头校正
- numpy-1.15.0-cp37-none-win32
- 矩形检测OPENCV
- VS2010下的视频烟雾检测
- 时间差分法帧间差分法opencv和vc代码实
- 基于opencv实现的人脸识别程序,需要
- boostdesc_bgm.i等OpenCV缺失时的文件.zip
- 视频流中的人脸跟踪以及眼睛定位
- 帧差法提取前景目标
- 基于QT的摄像头捕获程序
- OpenCV3.3最小二乘法直线拟合
- OpenCV相机姿态更新
- vc opencv 条形码 识别
- opencv jpeg 编解码
- opencv2.0中的lib和dll,跑别人程序时可
- 颜色直方图匹配算法opencv实现
- opencv控制多摄像头
- 基于opencv的圆心坐标提取
- 基于标识的AR的OpenCV实现
- Opencv2.4.9参考手册
- 基于opencv2.4.3、VS2010的背景差分法目标
- 车道线检测代码OpenCv以及理论算法说
- 行人跟踪OPENCV代码
- 基于opencv的人脸检测
- 多目标跟踪
评论
共有 条评论