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  黑帽

原始图像与进行闭运算之后得到的图像差

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