使用python对彩色图像加入真实夜间噪声和椒盐噪声的代码
时间: 2024-02-04 11:01:40 浏览: 71
可以使用OpenCV库对彩色图像进行加噪处理。以下是一个示例代码,可以加入真实夜间噪声和椒盐噪声:
```python
import cv2
import numpy as np
# 加载图像
img = cv2.imread('image.jpg')
# 添加真实夜间噪声
mean = 0
var = 100
sigma = var ** 0.5
gaussian = np.random.normal(mean, sigma, img.shape)
noisy_image = img + gaussian
# 添加椒盐噪声
s_vs_p = 0.5
amount = 0.004
out = np.copy(img)
num_salt = np.ceil(amount * img.size * s_vs_p)
coords = [np.random.randint(0, i - 1, int(num_salt)) for i in img.shape]
out[coords] = 255
num_pepper = np.ceil(amount * img.size * (1. - s_vs_p))
coords = [np.random.randint(0, i - 1, int(num_pepper)) for i in img.shape]
out[coords] = 0
noisy_image = out
# 显示图像
cv2.imshow('Original Image', img)
cv2.imshow('Noisy Image', noisy_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,首先加载了一张彩色图像。然后,添加真实夜间噪声,使用 numpy 库中的 random.normal() 方法生成高斯噪声,并将其添加到原始图像中。接着,添加椒盐噪声,使用 numpy 库中的 random.randint() 方法生成椒盐噪声,并将其添加到原始图像中。最后,显示原始图像和添加噪声后的图像。
阅读全文