資源簡介
代碼片段和文件信息
//-----------------------------------【程序說明】----------------------------------------------
// 程序名稱::《【OpenCV入門教程之十】形態學圖像處理(一):膨脹與腐蝕??》?博文配套源碼?
// 開發所用IDE版本:Visual?Studio?2010
//??? 開發所用OpenCV版本: 2.4.8
// 2014年4月14日?Create?by?淺墨
// 配套博文鏈接:?http://blog.csdn.net/poem_qianmo/article/details/23710721
// PS:程序結合配合博文學習效果更佳
// 淺墨的微博:@淺墨_毛星云
//------------------------------------------------------------------------------------------------
//-----------------------------------【頭文件包含部分】---------------------------------------
// 描述:包含程序所依賴的頭文件
//----------------------------------------------------------------------------------------------?
#include?
#include?
#include?
#include?
//-----------------------------------【命名空間聲明部分】---------------------------------------
// 描述:包含程序所使用的命名空間
//-----------------------------------------------------------------------------------------------?
using?namespace?std;
using?namespace?cv;
//-----------------------------------【全局變量聲明部分】--------------------------------------
// 描述:全局變量聲明
//-----------------------------------------------------------------------------------------------
Mat?g_srcImage?g_dstImage;//原始圖和效果圖
int?g_nTrackbarNumer?=?0;//0表示腐蝕erode?1表示膨脹dilate
int?g_nStructElementSize?=?3;?//結構元素(內核矩陣)的尺寸
//-----------------------------------【全局函數聲明部分】--------------------------------------
// 描述:全局函數聲明
//-----------------------------------------------------------------------------------------------
void?Process();//膨脹和腐蝕的處理函數
void?on_TrackbarNumChange(int?void?*);//回調函數
void?on_ElementSizeChange(int?void?*);//回調函數
//-----------------------------------【main(?)函數】--------------------------------------------
// 描述:控制臺應用程序的入口函數,我們的程序從這里開始
//-----------------------------------------------------------------------------------------------
int?main(?)
{
//改變console字體顏色
system(“color?5E“);??
//載入原圖
g_srcImage?=?imread(“1.jpg“);
if(?!g_srcImage.data?)?{?printf(“Oh,no,讀取srcImage錯誤~!?\n“);?return?false;?}
//顯示原始圖
namedWindow(“【原始圖】“);
imshow(“【原始圖】“?g_srcImage);
//進行初次腐蝕操作并顯示效果圖
namedWindow(“【效果圖】“);
//獲取自定義核
Mat?element?=?getStructuringElement(MORPH_RECT?Size(2*g_nStructElementSize+1?2*g_nStructElementSize+1)Point(?g_nStructElementSize?g_nStructElementSize?));
erode(g_srcImage?g_dstImage?element);
imshow(“【效果圖】“?g_dstImage);
//創建軌跡條
createTrackbar(“腐蝕/膨脹“?“【效果圖】“?&g_nTrackbarNumer?1?on_TrackbarNumChange);
createTrackbar(“內核尺寸“?“【效果圖】“?&g_nStructElementSize?21?on_ElementSizeChange);
//輸出一些幫助信息
cout< <<“\t按下“q”鍵時,程序退出~!\n“
<<“\n\n\t\t\t\t?by淺墨“;
//輪詢獲取按鍵信息,若下q鍵,程序退出
while(char(waitKey(1))?!=?‘q‘)?{}
return?0;
}
//-----------------------------【Process(?)函數】------------------------------------
// 描述:進行自定義的腐蝕和膨脹操作
//-----------------------------------------------------------------------------------------
void?Process
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????75402??2014-04-14?10:07??OpenCVdemo7\OpenCVdemo7\1.jpg
?????文件???????4604??2014-04-14?23:16??OpenCVdemo7\OpenCVdemo7\main.cpp
?????文件???????4404??2014-04-14?23:13??OpenCVdemo7\OpenCVdemo7\OpenCVdemo7.vcxproj
?????文件????????942??2014-04-09?10:41??OpenCVdemo7\OpenCVdemo7\OpenCVdemo7.vcxproj.filters
?????文件????????143??2014-04-09?10:40??OpenCVdemo7\OpenCVdemo7\OpenCVdemo7.vcxproj.user
?????文件????????900??2014-04-09?10:40??OpenCVdemo7\OpenCVdemo7.sln
????..A..H.?????16896??2014-04-14?23:17??OpenCVdemo7\OpenCVdemo7.suo
?????文件??????75402??2014-04-14?10:07??OpenCVdemo7\Release\1.jpg
?????文件??????16384??2014-04-14?23:16??OpenCVdemo7\Release\OpenCVdemo7.exe
?????文件????2098688??2013-12-29?12:09??OpenCVdemo7\Release\opencv_core248.dll
?????文件????2080768??2013-12-29?12:10??OpenCVdemo7\Release\opencv_highgui248.dll
?????文件????1905664??2013-12-29?12:10??OpenCVdemo7\Release\opencv_imgproc248.dll
?????目錄??????????0??2014-04-14?23:17??OpenCVdemo7\OpenCVdemo7
?????目錄??????????0??2014-04-14?23:17??OpenCVdemo7\Release
?????目錄??????????0??2014-04-14?23:17??OpenCVdemo7
-----------?---------??----------?-----??----
??????????????6280197????????????????????15
- 上一篇:MFC編寫一個交互式繪圖程序
- 下一篇:OpenCV漫水填充程序 by淺墨
評論
共有 條評論