在手写数据集上添加高斯噪声的python代码
时间: 2024-05-13 16:19:33 浏览: 300
下面是在手写数据集上添加高斯噪声的 Python 代码:
```
import numpy as np
import cv2
import os
# 加载手写数字数据集
data_path = "path/to/data/folder"
filenames = os.listdir(data_path)
images = []
for filename in filenames:
image = cv2.imread(os.path.join(data_path, filename), 0)
images.append(image)
# 将数据集中的每个图像添加高斯噪声
mean = 0
var = 50
sigma = var ** 0.5
for i in range(len(images)):
row, col = images[i].shape
gauss = np.random.normal(mean, sigma, (row, col))
gauss = gauss.reshape(row, col)
noisy_image = images[i] + gauss
noisy_image = np.clip(noisy_image, 0, 255).astype(np.uint8) # 防止像素值超出 0~255 范围
cv2.imwrite(os.path.join(data_path, "noisy_" + filenames[i]), noisy_image)
```
这个代码做了以下几件事情:
1. 加载手写数字数据集中的每个图像。
2. 对每个图像添加高斯噪声。
3. 将添加了噪声的图像保存到同一文件夹中,并以“noisy_”为前缀。
你可以根据自己的需求修改代码中的参数,如 var 可以控制噪声的强度,mean 可以控制噪声的均值。
阅读全文