编写python代码实现如下操作(1) 读取图像; (2) 创建核结构; (3) 对图像进行腐蚀运算(erode); (4) 对图像进行膨胀运算(dilate); (5) 对图像进行开运算; (6) 对图像进行闭运算; 以1*5排布方式在一个窗体显示a)原图像、b)腐蚀图像、c)膨胀图像、d)开运算图像、e)闭运算图像。
时间: 2023-10-09 08:06:08 浏览: 60
基于的图像腐蚀膨胀(课程项目)
以下是实现上述操作的Python代码:
```python
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取图像
img = cv2.imread("image.png", cv2.IMREAD_GRAYSCALE)
# 创建核结构
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))
# 对图像进行腐蚀运算
eroded = cv2.erode(img, kernel)
# 对图像进行膨胀运算
dilated = cv2.dilate(img, kernel)
# 对图像进行开运算
opened = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
# 对图像进行闭运算
closed = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)
# 在窗口中显示图像
fig, ax = plt.subplots(nrows=1, ncols=5, figsize=(10, 5))
ax[0].imshow(img, cmap='gray')
ax[0].set_title('Original Image')
ax[1].imshow(eroded, cmap='gray')
ax[1].set_title('Eroded Image')
ax[2].imshow(dilated, cmap='gray')
ax[2].set_title('Dilated Image')
ax[3].imshow(opened, cmap='gray')
ax[3].set_title('Opened Image')
ax[4].imshow(closed, cmap='gray')
ax[4].set_title('Closed Image')
plt.show()
```
请确保将代码中的 `image.png` 替换为您要处理的图像文件名。运行后,将会在一个窗口中以1*5排布方式显示原图像、腐蚀图像、膨胀图像、开运算图像和闭运算图像。
阅读全文