opencv实现图像膨胀腐蚀代码
时间: 2023-08-27 18:04:58 浏览: 106
图像膨胀和腐蚀是数字图像处理中常用的基本操作。OpenCV库提供了实现这些操作的函数,以下是基本的代码示例:
``` python
import cv2
import numpy as np
# 读入图片
img = cv2.imread('image.jpg', 0)
# 定义卷积核
kernel = np.ones((5,5), np.uint8)
# 图像膨胀
dilation = cv2.dilate(img, kernel, iterations=1)
# 图像腐蚀
erosion = cv2.erode(img, kernel, iterations=1)
# 显示结果
cv2.imshow('Original', img)
cv2.imshow('Dilation', dilation)
cv2.imshow('Erosion', erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们首先读入了一张灰度图像,然后定义了一个 $5 \times 5$ 的卷积核。接着,我们分别使用 `cv2.dilate()` 和 `cv2.erode()` 函数对原图进行膨胀和腐蚀操作,并设置了迭代次数为1。最后,我们使用 `cv2.imshow()` 函数展示了原图、膨胀后的图像和腐蚀后的图像。
需要注意的是,膨胀和腐蚀操作的核心思想是利用卷积核对图像进行滑动窗口操作,对窗口内的像素进行计算并更新当前像素值。膨胀操作会扩大图像中的白色区域,而腐蚀操作会缩小图像中的白色区域。迭代次数可以控制操作的程度,次数越多操作越明显。
阅读全文