4.3.2 中值滤波
    滤波的概念来自数字信号处理,滤波器可以用来过滤掉无用的高频或者低频信号。在图像处理领域,滤波器的主要作用之一就是去噪。
    中值滤波使用邻域内所有像素的中位数替换中心像素的值,可以在滤除异常值的情况下较好地保留纹理信息。如图4-16所示,通过使用中值滤波可以有效去除图像中的高斯噪声。这里需要注意的是,cv2.medianblur只能处理经过灰度处理的图像,且图像的数值必须是整数,归一化后的图像数据是无法直接处理的。
    img=cv2.imread("../picture/bigpig.jpeg")
    img=cv2.cvtcolor(img, cv2.color_bgr2gray)
    img1=img.copy()
    img2=img.copy()
    #原图为增加噪声的图
    img1=skimage.util.random_noise(img1, mode="gaussian", seed=none,
    clip=true,mean=0,var=0.01)
    #medianblur需要处理整型
    img1=np.uint8(img1*255)
    img2=cv2.medianblur(img1,3)
    图4-16 使用中值滤波去除高斯噪声示例
    中值滤波在一定程度上造成图像模糊和失真,滤波窗口变大时会非常明显。如图4-17所示,针对同一原始图像进行中值滤波,滤波窗口大小依次为3、11和19,图像模糊和失真越来越严重。
    img=cv2.imread("../picture/bigpig.jpeg")
    img=cv2.cvtcolor(img, cv2.color_bgr2gray)
    img1=img.copy()
    img2=img.copy()
    img3=img.copy()
    img4=img.copy()
    #medianblur需要处理整型
    img2=cv2.medianblur(img2,3)
    img3=cv2.medianblur(img3,11)
    img4=cv2.medianblur(img4,19)
    图4-17 中值滤波带来的模糊效果示例

章节目录

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