利用cv2.medianBlur( )方法对添加了椒盐噪声的图像进行均值滤波,要求分别采用宽为3、5和9的滤波核,给出相关代码和实验结果;
时间: 2024-09-28 22:09:02 浏览: 38
3x3中值滤波怎么计算过程-计算机视觉学习笔记8噪声与滤波 计算机视觉.pdf
5星 · 资源好评率100%
在Python中,你可以使用OpenCV(cv2库)的`medianBlur`函数对图像进行中值滤波,去除椒盐噪声。这个函数会对每个像素周围的像素值进行排序,然后取其中的中位数作为当前像素的新值,对于椒盐噪声来说,这种处理方法通常比简单的平均滤波更为有效,因为它能更好地保留边缘信息。
以下是使用cv2.medianBlur的基本代码示例:
```python
import cv2
import numpy as np
# 加载图像(这里假设你有一个名为"noisy_image.jpg"的椒盐噪声图片)
image = cv2.imread('noisy_image.jpg', cv2.IMREAD_GRAYSCALE)
# 定义不同的滤波核大小
kernels = [3, 5, 9]
# 对于每个滤波核大小,应用medianBlur
results = []
for kernel_size in kernels:
blurred_image = cv2.medianBlur(image, kernel_size)
results.append(blurred_image)
# 可视化处理后的图像
cv2.imshow(f'Median Blur (kernel size={kernel_size})', blurred_image)
cv2.waitKey(0) # 稍等片刻再显示下一个结果
# 关闭所有窗口
cv2.destroyAllWindows()
阅读全文