opencv腐蚀膨胀函数
时间: 2023-10-15 16:02:37 浏览: 104
基于opencv的图像腐蚀和膨胀程序
3星 · 编辑精心推荐
OpenCV 中的腐蚀和膨胀函数是图像处理中常用的基础函数之一,可以用来消除噪声、分离物体、连接物体等。下面介绍一下这两个函数的使用方法:
腐蚀函数 erode:
```python
cv2.erode(src, kernel, dst=None, anchor=None, iterations=None, borderType=None, borderValue=None)
```
参数说明:
- src:输入图像,可以是灰度图像或彩色图像;
- kernel:结构元素,定义了腐蚀操作的形状和大小,可以是矩形、圆形或自定义的任意形状;
- dst:输出图像,与输入图像大小和类型一致,如果为 None,则创建一个和输入图像一样的图像;
- anchor:结构元素的锚点位置,默认为结构元素的中心点;
- iterations:腐蚀操作的迭代次数,默认为 1;
- borderType:边缘处理方式,默认为 cv2.BORDER_CONSTANT;
- borderValue:边缘填充值,默认为 0。
膨胀函数 dilate:
```python
cv2.dilate(src, kernel, dst=None, anchor=None, iterations=None, borderType=None, borderValue=None)
```
参数说明:
- src:输入图像,可以是灰度图像或彩色图像;
- kernel:结构元素,定义了膨胀操作的形状和大小,可以是矩形、圆形或自定义的任意形状;
- dst:输出图像,与输入图像大小和类型一致,如果为 None,则创建一个和输入图像一样的图像;
- anchor:结构元素的锚点位置,默认为结构元素的中心点;
- iterations:膨胀操作的迭代次数,默认为 1;
- borderType:边缘处理方式,默认为 cv2.BORDER_CONSTANT;
- borderValue:边缘填充值,默认为 0。
下面是一个简单的例子,演示如何使用腐蚀和膨胀函数:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('lena.png')
# 创建结构元素
kernel = np.ones((5,5), np.uint8)
# 腐蚀操作
erosion = cv2.erode(img, kernel, iterations=1)
# 膨胀操作
dilation = cv2.dilate(img, kernel, iterations=1)
# 显示结果
cv2.imshow('Original Image', img)
cv2.imshow('Erosion', erosion)
cv2.imshow('Dilation', dilation)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这里我们读取了一张图像,并创建了一个 5x5 的矩形结构元素,然后对图像进行了腐蚀和膨胀操作,并显示了结果。其中,迭代次数 iterations 可以根据实际需求进行调整,较大的迭代次数可以使操作更加明显。
阅读全文