python實現膨脹與腐蝕

2022-06-29 12:00:09 字數 2555 閱讀 3307

目錄:

(一)膨脹

(二)腐蝕

(三)腐蝕**(erode)

(四)膨脹**(dilate)

(一)膨脹(或)

(二)腐蝕(與)

(三)腐蝕**(erode)

1

def erode_demo(image): #腐蝕2

print

(image.shape)

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

4 ret,binary = cv.threshold(gray,0,255,cv.thresh_binary_inv|cv.thresh_otsu)

5 cv.imshow("

binary

",binary)

6 kernel = cv.getstructuringelement(cv.morph_rect,(3,3))  #

可以修改卷積核大小來增加腐蝕效果,越大腐蝕越強

7 dst =cv.erode(binary,kernel)

8 cv.imshow("

erode_demo

",dst)

910 src = cv.imread("

./5.png

") #

讀取11 cv.namedwindow("

input image

",cv.window_autosize) #

建立gui視窗,形式為自適應

12 cv.imshow("

input image

",src) #

通過名字將影象和視窗聯絡

1314

erode_demo(src)

1516 cv.waitkey(0) #

等待使用者操作,裡面等待引數是毫秒,我們填寫0,代表是永遠,等待使用者操作

17 cv.destroyallwindows() #

銷毀所有視窗

(四)膨脹**(dilate)

1

import

cv2 as cv

2import

numpy as np34

def dilate_demo(image): #膨脹5

print

(image.shape)

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

7 ret,binary = cv.threshold(gray,0,255,cv.thresh_binary_inv|cv.thresh_otsu)

8 cv.imshow("

binary

",binary)

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

10 dst =cv.dilate(binary,kernel)

11 cv.imshow("

dilate_demo

",dst)

1213 src = cv.imread("

./5.png

") #

讀取14 cv.namedwindow("

input image

",cv.window_autosize) #

建立gui視窗,形式為自適應

15 cv.imshow("

input image

",src) #

通過名字將影象和視窗聯絡

1617

dilate_demo(src)

1819 cv.waitkey(0) #

等待使用者操作,裡面等待引數是毫秒,我們填寫0,代表是永遠,等待使用者操作

20 cv.destroyallwindows() #

銷毀所有視窗

參考:

腐蝕與膨脹

小結 也就是說無論腐蝕還是膨脹,都是把結構元素b像卷積操作那樣,在影象上平移,結構元素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...