python添加高斯噪声
时间: 2023-09-04 12:15:49 浏览: 99
分形高斯噪声生成软件-exe
在Python中,可以使用NumPy库来添加高斯噪声。以下是一个简单的示例代码:
```python
import numpy as np
def add_gaussian_noise(image, mean=0, std=1):
"""
Add Gaussian noise to an image.
:param image: a NumPy array representing the image
:param mean: the mean of the Gaussian distribution (default: 0)
:param std: the standard deviation of the Gaussian distribution (default: 1)
:return: a NumPy array representing the noisy image
"""
noisy_image = np.zeros(image.shape, np.float32)
noise = np.random.normal(mean, std, image.shape)
cv2.addWeighted(image, 1, noise, 1, 0, noisy_image, dtype=cv2.CV_32F)
return noisy_image
```
在这个函数中,我们首先创建一个大小与输入图像相同的全零NumPy数组,然后使用NumPy的random.normal函数生成一个高斯分布的噪声数组。最后,我们使用cv2.addWeighted函数将原始图像与噪声图像相加,以产生最终的带有高斯噪声的图像。
你可以在调用函数时指定高斯分布的均值和标准差。默认情况下,均值为0,标准差为1。
阅读全文