帮我用python语言给一个图片加高斯噪声和椒盐噪声
时间: 2024-01-22 15:19:46 浏览: 158
好的,下面是给图片添加高斯噪声和椒盐噪声的Python代码:
```python
import cv2
import numpy as np
# 加载原始图像
img = cv2.imread('example.jpg')
# 添加高斯噪声
mean = 0
var = 0.1
sigma = var ** 0.5
gaussian = np.random.normal(mean, sigma, img.shape)
gaussian = gaussian.reshape(img.shape)
noisy_image = img + gaussian
# 添加椒盐噪声
salt_vs_pepper = 0.5
amount = 0.05
noisy_image = np.copy(img)
# Salt mode
num_salt = np.ceil(amount * img.size * salt_vs_pepper)
coords = [np.random.randint(0, i - 1, int(num_salt)) for i in img.shape]
noisy_image[coords] = 255
# Pepper mode
num_pepper = np.ceil(amount * img.size * (1. - salt_vs_pepper))
coords = [np.random.randint(0, i - 1, int(num_pepper)) for i in img.shape]
noisy_image[coords] = 0
# 显示添加噪声后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Gaussian Noise', noisy_image.astype(np.uint8))
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们首先加载一张原始图像,并使用`numpy`库生成高斯噪声。然后,我们将高斯噪声添加到原始图像上,得到一个带有高斯噪声的图像。接着,我们使用椒盐噪声函数在原始图像上添加椒盐噪声。最后,我们将添加噪声后的图像显示出来。
阅读全文