資源簡介
這是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:?“?<??std::cout<“OpenSURF?took:?“?<
??//?畫出檢測到的特征點
??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?<
??//創建一個窗口?
??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
評論
共有 條評論