根據圖像形狀進行的簡單操作,一般情況下對二值化圖像進行操作
兩個參數,一個原始圖像,一個結構化元素或核,用來決定操作的性質
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 黑帽
原始圖像與進行閉運算之後得到的圖像差