目录
1.椒盐噪声
2.高斯噪声
椒盐噪声:噪声幅度基本相同(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
高斯噪声:概率密度函数(幅度值)服从高斯分布(正态分布),噪声出现在图像的各个点上
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