编写代码对含有噪声的图像分别采用3*3,9*9,15*15大小的均值滤波完成图像平滑,并比较不同大小滤波器对图像平滑的影响
时间: 2024-11-25 16:13:58 浏览: 0
在编写代码处理含有噪声的图像时,我们可以使用Python的PIL库或者OpenCV等图像处理工具包来实现3x3、9x9和15x15大小的均值滤波。这里以Python OpenCV为例:
```python
import cv2
import numpy as np
# 假设我们有一个名为image的带有噪声的灰度图像
image = cv2.imread('noisy_image.jpg', cv2.IMREAD_GRAYSCALE)
# 定义不同尺寸的均值滤波核
kernels = [(3, 3), (9, 9), (15, 15)]
filtered_images = []
for kernel_size in kernels:
# 创建均值滤波器
blur_kernel = np.ones(kernel_size, np.float32) / (kernel_size[0] * kernel_size[1])
# 应用滤波
blurred = cv2.filter2D(image, -1, blur_kernel)
filtered_images.append(blurred)
# 对结果进行显示或保存,对比它们的效果
titles = ['3x3', '9x9', '15x15']
for i in range(len(filtered_images)):
plt.subplot(1, len(kernels), i+1)
plt.imshow(filtered_images[i], cmap='gray')
plt.title(titles[i])
plt.xticks([]), plt.yticks([])
plt.show()
阅读全文