对一副图像分别添加椒盐噪声和高斯噪声,然后用均值滤波、中值滤波、双边滤波进行去噪代码
时间: 2024-10-28 14:11:05 浏览: 39
对图像添加椒盐噪声和高斯噪声的过程通常是通过随机选择像素并应用特定的噪声模型来实现。这里是一个简单的Python示例,使用`numpy`库以及`scikit-image`库中的函数:
```python
from skimage import io, img_as_float, random_noise
import numpy as np
# 加载图像
image = io.imread('your_image.jpg', as_gray=True) # 以灰度处理
# 添加椒盐噪声 (salt and pepper noise)
salt_and_pepper = random_noise(image, mode='s&p')
# 添加高斯噪声 (Gaussian noise)
gaussian_noise = random_noise(image, distribution='normal')
# 均值滤波去噪 (mean filter)
filtered_mean = img_as_float(io.imread('skimage.filters.mean', as_gray=True))(image)
# 中值滤波去噪 (median filter)
filtered_median = img_as_float(io.imread('skimage.filters.median', as_gray=True))(image)
# 双边滤波去噪 (bilateral filter)
filtered_bilateral = img_as_float(io.imread('skimage.restoration.bilateral', as_gray=True))(image, sigma_color=50, sigma_spatial=5)
# 保存结果
io.imsave('salt_and_pepper_noisy.png', salt_and_pepper * 255)
io.imsave('gaussian_noisy.png', gaussian_noise * 255)
io.imsave('filtered_mean.png', filtered_mean * 255)
io.imsave('filtered_median.png', filtered_median * 255)
io.imsave('filtered_bilateral.png', filtered_bilateral * 255)
阅读全文