给图片加上高斯噪声

在有些任务中,需要在原数据集上加入噪声,下面程序演示了将path中的图片加上高斯噪声然后保存到path2

通过skimage-lib给图片加上高斯噪声

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import matplotlib.pyplot as plt
from skimage import util
from skimage import io
import numpy as np
import os


path = "/data4/wangyh/LIR-for-Unsupervised-IR/VOCdevkit/VOC2012/JPEGImages/" # 文件路径
path2 = "/data4/wangyh/LIR-for-Unsupervised-IR/VOCdevkit/VOC2012/TJPEGImages/"
for file in os.listdir(path):
img = io.imread(path+file)
noise_gs_img = util.random_noise(img,mode='gaussian') # gaussian 高斯加性噪声
max = noise_gs_img.max()
noise_gs_img = noise_gs_img*255/max
noise_gs_img = np.uint8(noise_gs_img)
io.imsave(path2+file, noise_gs_img)
print(file, 'OK')

'''
其他噪声
noise_salt_img = util.random_noise(img,mode='salt') # 盐噪声,随机用1替换像素。属于高灰度噪声
noise_pepper_img = util.random_noise(img,mode='pepper') # 胡椒噪声,随机用0或-1替换像素,属于低灰度噪声
noise_sp_img = util.random_noise(img,mode='s&p') # 椒盐噪声,两种噪声同时出现,呈现出黑白杂点
noise_speckle_img = util.random_noise(img,mode='speckle') # out = image + n *图像的乘法噪声,其中n是具有指定均值和方差的均匀噪声
'''