python添加3%高斯噪声
时间: 2023-06-19 12:04:32 浏览: 226
高斯噪声的添加
4星 · 用户满意度95%
可以使用numpy库中的random.normal函数来实现添加高斯噪声。
下面是一个示例代码:
```python
import numpy as np
def add_gaussian_noise(image, mean=0, std=1):
"""
在图像上添加高斯噪声
"""
noise = np.random.normal(mean, std, image.shape)
noisy_image = image + noise
# 确保图像的像素值在0到255之间
noisy_image = np.clip(noisy_image, 0, 255)
return noisy_image.astype(np.uint8)
```
在上面的代码中,我们使用numpy.random.normal函数生成一个均值为mean,标准差为std的高斯噪声。然后将这个噪声添加到图像上,最后使用numpy.clip函数将图像的像素值限制在0到255之间,以确保图像的像素值不会超过这个范围。
你可以将这个函数应用到任何一张图像上,例如:
```python
import cv2
# 读取一张图像
image = cv2.imread('image.jpg')
# 添加高斯噪声
noisy_image = add_gaussian_noise(image, mean=0, std=10)
# 显示原始图像和添加噪声后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Noisy Image', noisy_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们从文件中读取了一张图像,然后将高斯噪声添加到图像上,并将原始图像和添加噪声后的图像显示出来。
阅读全文