形态学处理
改变物体形状。
一般去噪声时先腐蚀再进行膨胀。因为腐蚀在去掉白噪声的同时也会使得前景对象变小,所有需要再进行膨胀。
腐蚀(将前景区域变瘦)
实现原理
卷积核沿着图像滑动,若与卷积核对应的原图像的所有像素值==1,那么中心元素像素值保持不变,否则置0。
作用
根据卷积核的大小靠近前景的所有像素都会被腐蚀(变为0),所以前景物体会变小,整幅图像的白色区域会减少。
应用
- 腐蚀图片中一些毛刺或者很细小的东西
- 去除白噪声
- 断开两个连在一起的物体
函数
```pythonimg: 待腐蚀的二值图像
kernel: 腐蚀内核,默认3x3 rectangular structuring,可通过cv2.getStructuringElement()获得
iterations: 腐蚀次数
erosion = cv2.erode(img, kernel, iterations = 1)
dilation = cv2.dilate(img,kernel,iterations = 1)
cv2.MORPH_CROSS: 十字结构
cv2.MORPH_RECT: 矩形结构
cv2.MORPH_ELLIPSE: 椭圆结构
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, size)
<a name="hRpeh"></a>## 膨胀(将前景区域变胖)<a name="Z7NRG"></a>#### 实现原理卷积核沿着图像滑动,若与卷积核对应的原图像的像素值中只要有一个==1,那么中心元素像素值置0。<a name="sxy26"></a>#### 作用增加图像中的白色区域(前景)。<a name="i3Erq"></a>#### 应用- 连接两个分开的物体<a name="igo37"></a>## 开运算腐蚀->膨胀,去除噪声。```pythonopening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
闭运算
膨胀->腐蚀,用来填充前景物体中的小洞,或者前景物体上的小黑点。
closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)
为什么卷积和都是奇数
https://blog.csdn.net/weixin_42535423/article/details/104941782
