OpenCV 膨脹與腐蝕

2022-08-18 00:54:10 字數 1877 閱讀 9322

//全域性變數宣告********************************

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 平...