資源簡介
淺墨出品,零資源分下載,分享精神至上~
圖片素材是超級甜美的一個妹子,你們會喜歡的:)
通過鍵盤按鍵1,2,3,4在四種重映射方式之間切換,將圖片進行旋轉或者翻轉~
程序的核心函數為OpenCV中的remap。
博文《【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特征點檢測合輯?》?博文配套源碼?
// 開發所用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/highgui/highgui.hpp“
#include?“opencv2/imgproc/imgproc.hpp“
#include?
//-----------------------------------【命名空間聲明部分】--------------------------------------
//??????????描述:包含程序所使用的命名空間
//-----------------------------------------------------------------------------------------------
using?namespace?cv;
using?namespace?std;
//-----------------------------------【宏定義部分】--------------------------------------------?
//??描述:定義一些輔助宏?
//------------------------------------------------------------------------------------------------?
#define?WINDOW_NAME?“【程序窗口】“????????//為窗口標題定義的宏?
//-----------------------------------【全局變量聲明部分】--------------------------------------
//??????????描述:全局變量的聲明
//-----------------------------------------------------------------------------------------------
Mat?g_srcImage?g_dstImage;
Mat?g_map_x?g_map_y;
//-----------------------------------【全局函數聲明部分】--------------------------------------
//??????????描述:全局函數的聲明
//-----------------------------------------------------------------------------------------------
int?update_map(?int?key);
static?void?ShowHelpText(?);//輸出幫助文字
//-----------------------------------【main(?)函數】--------------------------------------------
//??????????描述:控制臺應用程序的入口函數,我們的程序從這里開始執行
//-----------------------------------------------------------------------------------------------
int?main(?int?argc?char**?argv?)
{
//改變console字體顏色
system(“color?2F“);?
//顯示幫助文字
ShowHelpText();
//【1】載入原始圖
g_srcImage?=?imread(?“1.jpg“?1?);
if(!g_srcImage.data?)?{?printf(“讀取圖片錯誤,請確定目錄下是否有imread函數指定的圖片存在~!?\n“);?return?false;?}??
imshow(“原始圖“g_srcImage);
//【2】創建和原始圖一樣的效果圖,x重映射圖,y重映射圖
g_dstImage.create(?g_srcImage.size()?g_srcImage.type()?);
g_map_x.create(?g_srcImage.size()?CV_32FC1?);
g_map_y.create(?g_srcImage.size()?CV_32FC1?);
//【3】創建窗口并顯示
namedWindow(?WINDOW_NAME?CV_WINDOW_AUTOSIZE?);
imshow(WINDOW_NAMEg_srcImage);
//【4】輪詢按鍵,更新map_x和map_y的值,進行重映射操作并顯示效果圖
while(?1?)
{
//獲取鍵盤按鍵??
int?key?=?waitKey(0);??
//判斷ESC是否按下,若按下便退出??
if(?(key?&?255)?==?27?)??
{??
cout?<“程序退出...........\n“;??
break;??
}??
//根據按下的
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????75596??2014-05-27?15:36??OpenCVdemo14\OpenCVdemo14\1.jpg
?????文件??????43267??2014-06-06?21:11??OpenCVdemo14\OpenCVdemo14\2.jpg
?????文件???????5871??2014-06-15?11:57??OpenCVdemo14\OpenCVdemo14\main.cpp
?????文件???????4404??2014-06-15?11:43??OpenCVdemo14\OpenCVdemo14\OpenCVdemo14.vcxproj
?????文件????????942??2014-06-15?10:41??OpenCVdemo14\OpenCVdemo14\OpenCVdemo14.vcxproj.filters
?????文件????????143??2014-06-15?10:41??OpenCVdemo14\OpenCVdemo14\OpenCVdemo14.vcxproj.user
?????文件????????903??2014-06-15?10:41??OpenCVdemo14\OpenCVdemo14.sln
????..A..H.?????11776??2014-06-15?11:57??OpenCVdemo14\OpenCVdemo14.suo
?????文件??????15360??2014-06-15?11:43??OpenCVdemo14\Release\OpenCVdemo14.exe
?????文件????????406??2014-06-15?11:43??OpenCVdemo14\Release\OpenCVdemo14.exe.manifest
?????文件????2099200??2014-04-15?16:57??OpenCVdemo14\Release\opencv_core249.dll
?????文件?????717824??2014-04-15?16:58??OpenCVdemo14\Release\opencv_features2d249.dll
?????文件????2080768??2014-04-15?16:58??OpenCVdemo14\Release\opencv_highgui249.dll
?????文件????1914368??2014-04-15?16:58??OpenCVdemo14\Release\opencv_imgproc249.dll
?????目錄??????????0??2014-06-15?12:01??OpenCVdemo14\OpenCVdemo14
?????目錄??????????0??2014-06-15?12:00??OpenCVdemo14\Release
?????目錄??????????0??2014-06-15?12:01??OpenCVdemo14
?????文件??????75596??2014-05-27?15:36??OpenCVdemo14\Release\1.jpg
?????文件??????43267??2014-06-06?21:11??OpenCVdemo14\Release\2.jpg
-----------?---------??----------?-----??----
??????????????7089691????????????????????19
評論
共有 條評論