python 添加随机噪声
时间: 2023-07-05 16:32:22 浏览: 112
Python给图像添加噪声具体操作
在 Python 中,可以使用 NumPy 和 OpenCV 库来添加随机噪声。下面是使用 NumPy 库添加高斯噪声和椒盐噪声的示例代码:
```python
import numpy as np
import cv2
def add_gaussian_noise(image, mean, std):
# 生成高斯噪声,均值为 mean,标准差为 std
noise = np.random.normal(mean, std, image.shape)
# 将噪声加到图像上
noisy_image = np.clip(image + noise, 0, 255).astype(np.uint8)
return noisy_image
def add_salt_pepper_noise(image, salt_ratio, pepper_ratio):
# 生成椒盐噪声,盐占比为 salt_ratio,椒占比为 pepper_ratio
salt = np.random.rand(*image.shape) < salt_ratio
pepper = np.random.rand(*image.shape) < pepper_ratio
# 将椒盐噪声加到图像上
noisy_image = image.copy()
noisy_image[salt] = 255
noisy_image[pepper] = 0
return noisy_image
```
这个代码中,`add_gaussian_noise` 函数接受一个图像和高斯噪声的均值和标准差作为参数,返回添加了高斯噪声的图像。`add_salt_pepper_noise` 函数接受一个图像和椒盐噪声的盐占比和椒占比作为参数,返回添加了椒盐噪声的图像。这两个函数都使用了 NumPy 库来生成随机噪声,并使用了 OpenCV 库中的 `clip` 函数来将像素值限制在 0 到 255 之间。
阅读全文