python实现图像随机添加高斯噪音
时间: 2023-07-11 21:12:37 浏览: 53
可以使用OpenCV库来实现图像随机添加高斯噪音。以下是示例代码:
```python
import cv2
import numpy as np
# 加载图像
img = cv2.imread('image.jpg')
# 随机生成高斯噪音
mean = 0
var = 0.1
sigma = var ** 0.5
gaussian = np.random.normal(mean, sigma, img.shape)
# 添加噪音
noisy_image = np.zeros(img.shape, np.float32)
if len(img.shape) == 2:
noisy_image = img + gaussian
else:
noisy_image[:, :, 0] = img[:, :, 0] + gaussian
noisy_image[:, :, 1] = img[:, :, 1] + gaussian
noisy_image[:, :, 2] = img[:, :, 2] + gaussian
# 转换为0-255范围内的整数
cv2.normalize(noisy_image, noisy_image, 0, 255, cv2.NORM_MINMAX, dtype=-1)
noisy_image = noisy_image.astype(np.uint8)
# 显示图像
cv2.imshow('Original Image', img)
cv2.imshow('Noisy Image', noisy_image)
cv2.waitKey(0)
```
在此代码中,我们首先加载图像,然后随机生成一个高斯分布,并将其添加到原始图像中,最后将结果转换为0-255范围内的整数,并显示原始图像和添加噪音后的图像。