//全域性變數宣告********************************
mat g_srcimage, g_dstimage;
int g_ntrackbarnumber = 0;//
0表示腐蝕erode,1表示膨脹dilate
int g_nkernelsize = 3;//
核大小
//全域性函式宣告********************************
void on_trackbarnumberchange(int, void *);//
**函式
void on_kernelsizechange(int, void *);//
**函式
void
process();
intmain()
//顯示原始
namedwindow("
image[origin]");
imshow(
"image[origin]
", g_srcimage);
//腐蝕/膨脹操作
namedwindow("
image[morphology]");
createtrackbar(
"erode/dilate:
", "
image[morphology]
", &g_ntrackbarnumber, 1
, on_trackbarnumberchange);
createtrackbar(
"kernel size:
", "
image[morphology]
", &g_nkernelsize, 21
, on_kernelsizechange);
on_trackbarnumberchange(g_ntrackbarnumber, 0);
on_kernelsizechange(g_nkernelsize, 0);
waitkey();
return0;
}void
process()
//**函式
void on_trackbarnumberchange(int, void *)
void on_kernelsizechange(int, void *)
腐蝕和膨脹是針對白色部分(高亮部分而言)。從數學角度來說,膨脹或者腐蝕操作就是將影象(或影象的一部分區域,稱之為a)與核(稱之為b)進行卷積。
膨脹就是求區域性最大值操作,即計算核b覆蓋的區域的畫素點的最大值,並把這個最大值賦值給參考點指定的畫素,這樣就會使影象中的高亮區域逐漸增長。
腐蝕就是求區域性最小值操作,即計算核b覆蓋的區域的畫素點的最小值,並把這個最小值賦值給參考點指定的畫素,這樣就會使影象中的高亮區域逐漸減少。
可參考博文:
Opencv 膨脹與腐蝕
簡而言之 一組基於形狀處理影象的操作。形態操作將結構元素應用於輸入影象並生成輸出影象。最基本的形態作用是 侵蝕和擴張。它們有廣泛的用途,即 消除噪音 隔離單個元素並連線影象中的不同元素。查詢影象中的強度凸點或孔 我們將簡要解釋膨脹和侵蝕,使用以下影象作為示例 該操作包括將影象與某些核心 b 進行卷積...
OpenCV 膨脹與腐蝕
include include include using namespace cv using namespace std int element size 3 int max size 21 mat src,dst void callback demo int,void int main int...
Open Cv 膨脹與腐蝕
影象形態學1 膨脹 dilate 與腐蝕 是灰度與二值影象處理中的重要手段 數學集合論和拓撲集合的基礎上發展起來 膨脹 dilate 與腐蝕 erode 最值濾波 3 3模板?膨脹 3 3模板中的最大值替換中心畫素 腐蝕 3 3模板中的最小值替換中心畫素 膨脹的作用 物件大小增加乙個畫素 3x3 平...