4.3.1 高斯噪声和椒盐噪声
    高斯噪声(gaussian noise)是指其概率密度函数服从高斯分布的一类噪声。椒盐噪声(salt-and-pepper noise)是指两种噪声,一种是盐噪声(salt noise),另一种是胡椒噪声(pepper noise)。盐噪声为白色,胡椒噪声为黑色。一般两种噪声同时出现,呈现在图像上就是黑白杂点。
    对图像增加噪声的方法很多,这里介绍如何使用skimage库进行噪声叠加,skimage库的安装方法为:
    pip install scikit-image
    skimage库提供了skimage.util.random_noise函数用于增加噪声。
    skimage.util.random_noise(image, mode= ’gaussian ’, seed=none, clip=true,**kwargs)
    其中主要参数的含义如下:
    ? image:原始图像。
    ? mode:叠加噪声的类型,常用的类型包括gaussian、salt、pepper和s & p。
    ? seed:随机数种子。
    ? clip:表示是否截断超出范围的值,默认为true。
    ? amount:噪声点的比例,默认为0.05。
    当使用高斯噪声时,还可以设置均值mean和方差var,默认均值为0,方差为0.01。
    以高斯噪声为例,如图4-15所示,分为四个子图,第一个子图为原始图像,第二至四个子图分别叠加了mean为0,var为0.01、0.04和0.09的高斯噪声。可见当mean相同时,var越大噪声越明显。这里需要指出的是,skimage在random_noise内部实现时,已经将图像归一化到(0,1),生成的图像也归一化到(0,1),因此设置mean和var值时要考虑这点。
    img=cv2.imread("../picture/bigpig.jpeg")
    img=cv2.cvtcolor(img, cv2.color_bgr2rgb)
    img1=img.copy()
    img2=skimage.util.random_noise(img2, mode="gaussian", seed=none,
    clip=true,mean=0,var=0.01)
    img3=skimage.util.random_noise(img3, mode="gaussian", seed=none,
    clip=true,mean=0,var=0.04)
    img4=skimage.util.random_noise(img4, mode="gaussian", seed=none,
    clip=true,mean=0,var=0.09)
    增加椒盐噪声时更加灵活一些,可以设置只增加白色的盐噪声,或者只增加黑色的胡椒噪声,或者两者都增加。
    img=cv2.imread("../picture/bigpig.jpeg")
    img=cv2.cvtcolor(img, cv2.color_bgr2rgb)
    img1=img.copy()
    img2=skimage.util.random_noise(img2, mode="salt", seed=none, clip=true)
    img3=skimage.util.random_noise(img3, mode="pepper", seed=none, clip=true)
    img4=skimage.util.random_noise(img4, mode="s&p", seed=none, clip=true)
    图4-15 图像增加高斯噪声示例

章节目录

智能系统与技术丛书·AI安全之对抗样本入门所有内容均来自互联网,一曲书屋只为原作者兜哥的小说进行宣传。欢迎各位书友支持兜哥并收藏智能系统与技术丛书·AI安全之对抗样本入门最新章节