OpenCV形態學轉換

根據圖像形狀進行的簡單操作,一般情況下對二值化圖像進行操作

兩個參數,一個原始圖像,一個結構化元素或核,用來決定操作的性質

 

1  腐蝕

會把前景物體的邊界腐蝕掉

如果與卷積覈對應的原圖像的所有像素值都是1,那麼中心元素就保持原來的像素值,否則變爲0.

對於去除白噪聲很有用,也可以用來斷開兩個連在一塊的物體

Img = cv2.imread(‘j.png’, 0)

Kernel = np.ones((5, 5), np.uint8)

Erosion = cv2.erode(img, kernel, iterations=1)

2  膨脹

與卷積覈對應的原圖像的像素值中只要有一個是1,中心元素的像素值就是1。會增加前景。

一般在去噪時先用腐蝕再用膨脹。膨脹可以用來連接兩個分開的物體。

 

3  開運算

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

cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

 

4  閉運算

先膨脹再腐蝕。用來填充前景物體中的小洞,或前景上的小黑點。

 

5  形態學梯度

就是一幅圖像膨脹與腐蝕的差別,結果看上去就像前景物體的輪廓。

cv2.morphologyEx(img, cv2.MORPH_GRANIENT, kernel)

 

6  禮帽

原始圖像與進行開運算之後得到的圖像差

 

7  黑帽

原始圖像與進行閉運算之後得到的圖像差

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章