Python-图像-添加噪声

目录

1.椒盐噪声

2.高斯噪声


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

上一篇:jemeter 模拟多个 ip地址 请求


下一篇:2021-11-15_学习总结