数据增强添加高斯噪声代码
时间: 2023-05-16 14:07:21 浏览: 226
以下是添加高斯噪声的代码示例:
```python
import numpy as np
def add_gaussian_noise(image, mean=0, std=1):
"""
给图像添加高斯噪声
:param image: 输入图像
:param mean: 噪声均值
:param std: 噪声标准差
:return: 添加噪声后的图像
"""
noise = np.random.normal(mean, std, image.shape)
noisy_image = image + noise
return noisy_image
```
这个函数接受一个图像作为输入,然后给图像添加高斯噪声。可以通过调整 `mean` 和 `std` 参数来控制噪声的强度。
相关问题
图像数据增强 添加高斯噪声
图数据增强是指通过对原始图像进行一系列变换、扭曲、旋转等操作,生成一组新的图像数据集合,用来增加模型的泛化能力和鲁棒性。其中添加高斯噪声是一种常用的数据增强方式之一。
具体来说,高斯噪声是指在图像的像素值上添加服从高斯分布的噪声。在实现上,可以使用 Numpy 库中的 random.normal() 方法,生成均值为 0,方差为指定值的高斯分布随机数,然后将其加到原始图像的每个像素值上。
示例代码如下:
```python
import cv2
import numpy as np
# 读取原始图像
img = cv2.imread('lena.jpg')
# 均值为 0,方差为 50 的高斯分布随机数
noise = np.random.normal(0, 50, img.shape)
# 将随机数加到图像上
noisy_img = img + noise
# 将像素值限制在 0-255 范围内
noisy_img = np.clip(noisy_img, 0, 255).astype(np.uint8)
# 显示结果
cv2.imshow('original', img)
cv2.imshow('noisy', noisy_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
上述代码中,我们读取了一张 Lena 图像,并生成了均值为 0,方差为 50 的高斯分布随机数,将其加到原始图像上生成了一个带有噪声的图像,并将像素值限制在 0-255 范围内。最后,我们使用 OpenCV 库中的 imshow() 方法展示了原始图像和添加高斯噪声后的图像。
利用python为图像添加高斯噪声
Python是一种功能强大的编程语言,用于图像处理和数字信号处理,使用Python添加噪声是一个相对简单的过程。高斯噪声是一种广泛使用的噪声类型,可用于模拟自然环境中的噪声。
以下是添加高斯噪声的过程:
1.导入所需库——numpy和opencv
2.读取图像——用OpenCV的imread函数或其他适当函数来读取图像
3.创建高斯分布——用numpy的random函数生成高斯分布
4.将高斯噪声添加到图像
5.显示和保存图像——用OpenCV的imshow函数显示图像,用imwrite函数保存图像。
具体步骤如下:
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg')
# 添加高斯噪声
mean = 0
var = 1
sigma = var ** 0.5
gauss = np.random.normal(mean, sigma, img.shape)
gauss = gauss.reshape(img.shape[0], img.shape[1], img.shape[2]).astype('uint8')
img_gauss = cv2.add(img, gauss)
# 显示噪声图像
cv2.imshow('Gaussian Noise', gauss)
# 显示添加噪声后的图像
cv2.imshow('Gaussian Noise Applied', img_gauss)
# 保存添加噪声后的图像
cv2.imwrite('image_gauss.jpg', img_gauss)
# 等待按键退出窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
在此示例中,高斯噪声具有平均值为0,方差为1,然后将其重塑为与原始图像相同的大小和数据类型,并将其添加到原始图像中。这生成了添加高斯噪声后的图像。最后,该程序将噪声图像和添加噪声后的图像显示在OpenCV窗口中,并将添加噪声后的图像保存到磁盘上。
综上所述,使用Python添加高斯噪声是相对容易的,需要的只是导入需要的库和几行简单的代码即可完成。添加噪声可用于许多实际应用中,例如图像增强和图像识别。
阅读全文