形態學轉換

2022-06-28 07:45:08 字數 1109 閱讀 8858

1、腐蝕  cv2.erode()

就像土壤侵蝕一樣,這個操作會把前景物體的邊界腐蝕掉(但是前景仍然

是白色)。這是怎麼做到的呢?卷積核沿著影象滑動,如果與卷積核對應的原圖

像的所有畫素值都是 1,那麼中心元素就保持原來的畫素值,否則就變為零。

這回產生什麼影響呢?根據卷積核的大小靠近前景的所有畫素都會被腐蝕

掉(變為 0),所以前景物體會變小,整幅影象的白色區域會減少。這對於去除

白雜訊很有用,也可以用來斷開兩個連在一塊的物體等。

2、膨脹  cv2.dilate()

與腐蝕相反,與卷積核對應的原影象的畫素值中只要有乙個是 1,中心元

素的畫素值就是 1。所以這個操作會增加影象中的白色區域(前景)。一般在去

雜訊時先用腐蝕再用膨脹。因為腐蝕在去掉白雜訊的同時,也會使前景物件變

小。所以我們再對他進行膨脹。這時雜訊已經被去除了,不會再回來了,但是

前景還在並會增加。膨脹也可以用來連線兩個分開的物體。

3、開運算先進行腐蝕運算再進行膨脹就叫做開運算,

被用作去除雜訊,cv2.morphologhex()

opening = cv2.morphologyex(img, cv2.morph_open, kernel)

4、閉運算,先膨脹再腐蝕,它經常被用來填充前景物體中的小洞,或者前景物體上的

小黑點。

closing = cv2.morphologyex(img, cv2.morph_close, kernel)

5、形態學梯度,其實就是一幅影象膨脹與腐蝕的差別。結果看上去就像前景物體的輪廓。

gradient = cv2.morphologyex(img, cv2.morph_gradient, kernel)

6、禮帽

原始影象與進行開運算之後得到的影象的差。下面的例子是用乙個 9x9 的

核進行禮帽操作的結果。

tophat = cv2.morphologyex(img, cv2.morph_tophat, kernel)

7、黑帽

進行閉運算之後得到的影象與原始影象的差。

blackhat = cv2.morphologyex(img, cv2.morph_blackhat, kernel)

opencv 形態學轉換

侵蝕的基本思想就像土壤侵蝕一樣,它侵蝕前景物體的邊界 盡量使前景保持白色 具體做法 核心滑動通過影象 在2d卷積中 原始影象中的乙個畫素 無論是1還是0 只有當核心下的所有畫素都是1時才被認為是1,否則它就會被侵蝕 變成0 結果 根據核心的大小,邊界附近的所有畫素都會被丟棄。前景物體的厚度或大小減 ...

OpenCV Python 形態學轉換 十七

在這一章當中,我們將學習不同的形態學操作,例如侵蝕,膨脹,開運算,閉運算等。我們將看到不同的功能,例如 cv.erode cv.dilate cv.morphologyex 等。形態變換是一些基於影象形狀的簡單操作。通常在二進位制影象上執行。它需要兩個輸入,乙個是我們的原始影象,第二個是決定操作性質...

形態學重建

在形態學梯度影象的基礎上,利用形態學的開閉重建運算對梯度影象進行重建,在保留重要區域倫敦的同時去除細節和雜訊。分水嶺變換存在過分割現象,原因在於檢測的區域性極值過多,造成極值過多的原因在於影象中的非規則灰度擾動和雜訊。對於好的分水嶺影象分割方法,不僅能消除過分割現象,而且應保證分割後的區域倫敦邊緣具...