目录
1.椒盐噪声
椒盐噪声:噪声幅度基本相同(0或255),出现位置随机
def add_noise_salt_pepper(img, salt, pepper=None):
"""添加椒盐噪声
:param img:输入图像(灰度图)
:param salt:salt的概率
:param pepper:pepper的概率
:return:img:加入椒盐噪声后的图像
"""
pepper = 1 - salt
row, col = img.shape
for x in range(col):
for y in range(row):
r = random.random()
if r > salt:
img[x][y] = 255
elif r < pepper:
img[x][y] = 0
else:
img[x][y] = img[x][y]
return img
2.高斯噪声
高斯噪声:概率密度函数(幅度值)服从高斯分布(正态分布),噪声出现在图像的各个点上
def add_noise_Gauss(img,loc=0,scale=0.005):
"""
添加高斯噪声
:param img: 输入图像
:param loc: 高斯均值
:param scale: 高斯方差
:param scale**2:高斯标准差
:return: img:加入高斯噪声后的图像
"""
img = np.float32(img)/255 # (0-255)->(0-1)
Gauss_noise =np.random.normal(loc,scale**0.5,img.shape)
img = img + Gauss_noise # 加性噪声
if img.min()<0:
low_clip = -1
else:
low_clip = 0
img = np.clip(img,low_clip,1.0) # 约束结果在(0-1)
img = np.uint8(img*255) # (0-1)->(0-255)
return img