资源简介
这是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的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- opencv环境配置
- win10 64位下编译的opencv4.5.5库,opencv
- Surface pro 7 SD卡固定硬盘X64驱动带数字
- new surface pro第5代官方最新系统家庭版
- Impact of bond order loss on surface and nanos
- The Rh influence on the surface distribution o
- Orientation-resolved 3d5/2 energy shift of Rh
- Coordination-resolved 4f binding energy shift
- Sub-wavelength surface structuring of NiTi all
- Gold-film coating assisted femtosecond laser f
- Micropackaging of Al2O3 Shell on the Surface o
- THERMAL ANNEALING TREATMENT TO ACHIEVE SWITCHA
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
- opencv_contrib-3.4.0.zip
- opencv2.4.9源码分析——SIFT
- 用两个摄像头实现,双目标定,双目
- opencv_traincascade训练分类器,手势识别
- opencv3.0交叉编译用parallel.cpp
- 基于opencv的图像识别识别图像中的色
- 基于openCV的识别特定颜色区域
- 基于OpenCV的分水岭算法实现
- 中国边界BLN文件
- QT+opencv+OCR 身份证号码,银行卡号识别
- opencv视频特定颜色区域识别
- 把RGB转换为HSV和HSI然后根据黄色和蓝
- opencv视觉测距
- 基于Qt和opencv的身份证号码识别系统
- opencv_ffmpeg249.dll
评论
共有 条评论