資源簡介
淺墨出品,分享精神至上~
圖片素材是當前熱映的美國隊長2的海報,非常酷!
我們用滑動條來控制迭代次數,動態得到不同效果的形態學操作圖。
效果有:開閉運算,腐蝕膨脹,黑帽和頂帽。
博文《【OpenCV入門教程之十一】 形態學圖像處理(二):開運算、閉運算、形態學梯度、頂帽、黑帽合輯》的配套詳細注釋源代碼。
博文鏈接:
http://blog.csdn.net/poem_qianmo/article/details/24599073
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.8
5.推薦代碼結合博文一起看,學習效果更佳。
by淺墨

代碼片段和文件信息
//-----------------------------------【程序說明】----------------------------------------------
// 程序名稱::《【OpenCV入門教程之十一】?形態學圖像處理(二):開運算、閉運算、形態學梯度、頂帽、黑帽合輯?》?博文配套源碼?
// 開發所用IDE版本:Visual?Studio?2010
//??? 開發所用OpenCV版本: 2.4.8
// 2014年4月14日?Create?by?淺墨
// 配套博文鏈接:?http://blog.csdn.net/poem_qianmo/article/details/24599073
// PS:程序結合配合博文學習效果更佳
// 淺墨的微博:@淺墨_毛星云?http://weibo.com/1723155442/profile?topnav=1&wvr=5&user=1
// 淺墨的知乎:http://www.zhihu.com/people/mao-xing-yun
// 淺墨的豆瓣:http://www.douban.com/people/53426472/
//----------------------------------------------------------------------------------------------
//-----------------------------------【頭文件包含部分】---------------------------------------
// 描述:包含程序所依賴的頭文件
//----------------------------------------------------------------------------------------------?
#include?
#include?
#include?
//-----------------------------------【命名空間聲明部分】--------------------------------------
// 描述:包含程序所使用的命名空間
//-----------------------------------------------------------------------------------------------?
using?namespace?std;
using?namespace?cv;
//-----------------------------------【全局變量聲明部分】--------------------------------------
// 描述:全局變量聲明
//-----------------------------------------------------------------------------------------------
Mat?g_srcImage?g_dstImage;//原始圖和效果圖
int?g_nElementShape?=?MORPH_RECT;//元素結構的形狀
//變量接收的TrackBar位置參數
int?g_nMaxIterationNum?=?10;
int?g_nOpenCloseNum?=?0;
int?g_nErodeDilateNum?=?0;
int?g_nTopBlackHatNum?=?0;
//-----------------------------------【全局函數聲明部分】--------------------------------------
// 描述:全局函數聲明
//-----------------------------------------------------------------------------------------------
static?void?on_OpenClose(int?void*);//回調函數
static?void?on_ErodeDilate(int?void*);//回調函數
static?void?on_TopBlackHat(int?void*);//回調函數
static?void?ShowHelpText();
//-----------------------------------【main(?)函數】--------------------------------------------
// 描述:控制臺應用程序的入口函數,我們的程序從這里開始
//-----------------------------------------------------------------------------------------------
int?main(?)
{
//改變console字體顏色
system(“color?2F“);??
ShowHelpText();
//載入原圖
g_srcImage?=?imread(“1.jpg“);
if(?!g_srcImage.data?)?{?printf(“Oh,no,讀取srcImage錯誤~!?\n“);?return?false;?}
//顯示原始圖
namedWindow(“【原始圖】“);
imshow(“【原始圖】“?g_srcImage);
//創建三個窗口
namedWindow(“【開運算/閉運算】“1);
namedWindow(“【腐蝕/膨脹】“1);
namedWindow(“【頂帽/黑帽】“1);
//參數賦值
g_nOpenCloseNum=9;
g_nErodeDilateNum=9;
g_nTopBlackHatNum=2;
//分別為三個窗口創建滾動條
createTrackbar(“迭代值“?“【開運算/閉運算】“&g_nOpenCloseNumg_nMaxIterationNum*2+1on_OpenClose);
createTrackbar(“迭代值“?“【腐蝕/膨脹】“&g_nErodeDilateNumg_nMaxIterationNum*2+1on_ErodeDilate);
createTrackbar(“迭代值“?“【頂帽/黑帽】“&g_nTopBlackHatNumg_nMaxIterationNum*2+1on_TopBlackHat);
//輪詢獲取按鍵信息
while(1)
{
int?c;
//執行回調函數
on_OpenClose(g_nOpenCloseNum?0);
on_ErodeDilate(
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????109055??2014-04-25?20:46??OpenCVdemo8\OpenCVdemo8\1.jpg
?????文件??????86481??2014-04-16?21:08??OpenCVdemo8\OpenCVdemo8\2.jpg
?????文件???????7177??2014-04-27?21:29??OpenCVdemo8\OpenCVdemo8\main.cpp
?????文件???????4404??2014-04-26?22:27??OpenCVdemo8\OpenCVdemo8\OpenCVdemo8.vcxproj
?????文件????????942??2014-04-18?10:45??OpenCVdemo8\OpenCVdemo8\OpenCVdemo8.vcxproj.filters
?????文件????????143??2014-04-18?10:11??OpenCVdemo8\OpenCVdemo8\OpenCVdemo8.vcxproj.user
?????文件????????900??2014-04-18?10:11??OpenCVdemo8\OpenCVdemo8.sln
????..A..H.?????18432??2014-04-27?21:30??OpenCVdemo8\OpenCVdemo8.suo
?????文件?????109055??2014-04-25?20:46??OpenCVdemo8\Release\1.jpg
?????文件??????16384??2014-04-27?21:30??OpenCVdemo8\Release\OpenCVdemo8.exe
?????文件?????969728??2014-04-27?21:30??OpenCVdemo8\Release\OpenCVdemo8.pdb
?????文件????2098688??2013-12-29?12:09??OpenCVdemo8\Release\opencv_core248.dll
?????文件????2080768??2013-12-29?12:10??OpenCVdemo8\Release\opencv_highgui248.dll
?????文件????1905664??2013-12-29?12:10??OpenCVdemo8\Release\opencv_imgproc248.dll
?????目錄??????????0??2014-04-27?21:31??OpenCVdemo8\OpenCVdemo8
?????目錄??????????0??2014-04-27?21:30??OpenCVdemo8\Release
?????目錄??????????0??2014-04-27?21:31??OpenCVdemo8
-----------?---------??----------?-----??----
??????????????7407821????????????????????17
- 上一篇:OpenCV滾動條的創建程序 by淺墨
- 下一篇:OpenCV直線檢測程序 by淺墨
評論
共有 條評論