将上面的代码的结果加上形态学滤波器进行平滑处理
时间: 2023-06-13 10:05:55 浏览: 85
利用数学形态学方法的图像滤波程序
4星 · 用户满意度95%
好的,以下是加上形态学滤波器进行平滑处理的代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('test.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化处理
ret, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 定义形态学滤波器
kernel = np.ones((5,5), np.uint8)
# 进行膨胀操作,去除小的噪点
dilation = cv2.dilate(binary, kernel, iterations=2)
# 进行腐蚀操作,平滑边缘
erosion = cv2.erode(dilation, kernel, iterations=2)
# 显示结果
cv2.imshow('Original Image', img)
cv2.imshow('Binary Image', binary)
cv2.imshow('Dilation Image', dilation)
cv2.imshow('Erosion Image', erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这里我们使用了膨胀和腐蚀操作,分别用于去除小的噪点和平滑边缘。通过调整形态学滤波器的大小、形状和迭代次数,可以得到不同程度的平滑效果。
阅读全文