中值滤波图示python
时间: 2025-01-21 07:26:45 浏览: 39
### Python 实现中值滤波图像处理可视化
在Python中,可以利用`OpenCV`库实现中值滤波并进行图像处理的可视化。下面是一个完整的示例程序,该程序不仅展示了如何加载一张带有噪声的图片以及对其执行中值滤波操作,还通过图形界面显示了原始图像与经过滤波处理后的对比效果[^1]。
```python
import cv2
import numpy as np
from matplotlib import pyplot as plt
# 加载含噪点的灰度模式下的测试图片
image = cv2.imread('noisy_image.jpg', 0)
# 定义不同尺寸内核大小用于比较
kernels_sizes = [3, 5, 7]
# 创建子图布局准备展示多组结果
fig, axs = plt.subplots(1, len(kernels_sizes)+1, figsize=(15, 5))
# 展示未经任何处理的初始状态
axs[0].imshow(image, cmap='gray')
axs[0].set_title('Original Noisy Image')
for idx, ksize in enumerate(kernels_sizes):
# 对当前选定尺寸下应用中值模糊算法
filtered_img = cv2.medianBlur(image, ksize=ksize)
# 将每次过滤的结果放置到对应的子图位置上
axs[idx+1].imshow(filtered_img, cmap='gray')
axs[idx+1].set_title(f'Median Blur (Kernel Size={ksize})')
plt.tight_layout()
plt.show()
```
此代码片段首先导入必要的包,并定义了一个列表来存储想要尝试的不同内核大小。接着创建一个多面板图表以便能够直观地看到各种参数设置对于最终输出的影响。最后,在循环体内分别对每种情况调用了`cv2.medianBlur()`方法完成实际的数据变换工作,并借助Matplotlib库完成了整个流程的视觉呈现。
阅读全文
相关推荐









