用python给一张图片增加高斯噪声的代码
时间: 2024-02-20 17:02:29 浏览: 84
可以使用Python中的OpenCV库来给一张图片增加高斯噪声。下面是一个简单的示例代码:
```python
import cv2
import numpy as np
# 读取图片
img = cv2.imread('example.jpg')
# 获取图片的高和宽
height, width, channels = img.shape
# 生成均值为0,方差为25的高斯噪声
mean = 0
var = 25
sigma = var ** 0.5
gaussian = np.random.normal(mean, sigma, (height, width, channels))
# 将高斯噪声添加到图片上
noisy_image = cv2.add(img, gaussian)
# 显示图片
cv2.imshow('Original image', img)
cv2.imshow('Noisy image', noisy_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们首先使用OpenCV库读取了一张图片。然后,我们使用Numpy库生成了一个均值为0,方差为25的高斯噪声,并将其添加到原始图片上。最后,我们使用OpenCV库显示了原始图片和添加了高斯噪声的图片。
相关问题
用Python给torch图像加高斯噪声的代码
可以使用torchvision.transforms中的RandomNoise来给torch图像加高斯噪声。以下是示例代码:
```python
import torch
import torchvision.transforms as transforms
# 加载图像
img = torch.randn(3, 224, 224)
# 定义高斯噪声变换
noise_transform = transforms.RandomNoise("gaussian")
# 进行高斯噪声处理
noisy_img = noise_transform(img)
# 查看噪声图像
print(noisy_img)
```
这样,即可给torch图像加上高斯噪声。
python原始数据中加入高斯噪声代码
可以使用NumPy库中的random模块来生成高斯分布随机数,并将其加入原始数据中。以下是一个示例代码:
```python
import numpy as np
# 原始数据
data = [1, 2, 3, 4, 5]
# 高斯分布的均值和标准差
mu, sigma = 0, 0.1
# 生成随机数并加入原始数据中
noisy_data = [x + np.random.normal(mu, sigma) for x in data]
print("原始数据:", data)
print("添加高斯噪声后的数据:", noisy_data)
```
在上面的代码中,我们使用了NumPy库中的random.normal()方法来生成高斯分布随机数,其中mu为均值,sigma为标准差。然后将生成的随机数与原始数据相加,得到添加了高斯噪声后的数据。
阅读全文