資源簡介
淺墨出品,零資源分下載,分享精神至上~
運行可以看到兩幅圖中的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參考手冊
評論
共有 條評論