Open Cv 膨脹與腐蝕

2021-09-27 07:03:53 字數 2147 閱讀 9998

#影象形態學1 膨脹(dilate)與腐蝕 是灰度與二值影象處理中的重要手段 數學集合論和拓撲集合的基礎上發展起來

#膨脹(dilate)與腐蝕(erode) 最值濾波(3*3模板?)

#膨脹 3*3模板中的最大值替換中心畫素 腐蝕 3*3模板中的最小值替換中心畫素

#膨脹的作用 物件大小增加乙個畫素(3x3) 平滑物件邊緣 減少或者填充物件之間的距離

#腐蝕的作用 物件大小減少乙個畫素(3x3) 平滑物件邊緣 弱化或者分割物件之間半島型連線

deferode_demo

(image)

:print

(image.shape)

gray=cv.cvtcolor(image,cv.color_bgr2gray)

ret,binary=cv.threshold(gray,0,

255,cv.thresh_binary_inv|cv.thresh_otsu)

#注意cv.thresh_binary_inv

cv.imshow(

"binary"

,binary)

kernel=cv.getstructuringelement(cv.morph_rect,(5

,5))

#得到結構元素 cross十字交叉 矩形 結構元素變大 腐蝕加重

dst=cv.erode(binary,kernel=kernel)

cv.imshow(

"erode_demo"

,dst)

defdilate_demo

(image)

:print

(image.shape)

gray=cv.cvtcolor(image,cv.color_bgr2gray)

ret,binary=cv.threshold(gray,0,

255,cv.thresh_binary_inv|cv.thresh_otsu)

#注意cv.thresh_binary_inv

cv.imshow(

"binary"

,binary)

kernel=cv.getstructuringelement(cv.morph_rect,(5

,5))

#得到結構元素 cross十字交叉 矩形 結構元素變大 腐蝕加重

dst=cv.dilate(binary,kernel=kernel)

cv.imshow(

"dilate_demo"

,dst)

src=cv.imread(

"d:\py_test\open_cv\data\pic3.png"

)cv.namedwindow(

"test"

,cv.window_autosize)

cv.imshow(

"test"

,src)

#在上面建立的「test」視窗中顯示影象sr

dilate_demo(src)

#彩色影象的膨脹

#得到結構元素 cross十字交叉 矩形 結構元素變大 腐蝕加重

dst=cv.erode(src2,kernel=kernel)

#腐蝕是最小值替換中心畫素,所以眉毛的位置會變的更加黑 0為最黑

cv.imshow(

"color_dilate"

,dst)

cv.waitkey(0)

#(0)引數表示無限等待 等又任意按鍵按下關閉視窗

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

OpenCV 膨脹與腐蝕

全域性變數宣告 mat g srcimage,g dstimage int g ntrackbarnumber 0 0表示腐蝕erode,1表示膨脹dilate int g nkernelsize 3 核大小 全域性函式宣告 void on trackbarnumberchange int,void...