现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]北京现代汽车官方网站

作业题目:

对lena图像加入椒盐噪声,强度为30%,分别采用均值滤波,中值滤波进行处理。并讨论不同尺度的模板对结果的影响。

作业代码及内容展示和分析:

##lena加入椒盐噪声效果图

1、噪声强度为5%

现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]

2、噪声强度为30%

 现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]

代码展示:

import cv2 as cv

import random as rd

import matplotlib.pyplot as plt

lena = cv.imread‘lena.jpeg’,0)

def saltNoise_imageim,var):                   #生成椒盐噪声图函数

    w,h = im.shape

    saltNoiseNum = intw*h*var)                #噪声总的点数

    for i in rangesaltNoiseNum):              #在图像找n个点加入噪声

        x = rd.choicerangew))

        y = rd.choicerangeh))

        if im[x,y] < 127:

           im[x,y] = 255

        else:

           im[x,y] = 0

    return im

def filterImageim):                          #滤波函数

    im = cv.cvtColorim,cv.COLOR_BGR2RGB)

    ksize = [3,5,7]

    im_filter = [[cv.blurim,i,i)),           #均值滤波

               cv.medianBlurim,i),           #中值滤波

               cv.GaussianBlurim,i,i),0,0)] #高斯滤波

                for i in ksize]

    plt.figure‘滤波结果’)                     #创建窗口

    x = 0

    for i in range3):

        for j in range3):

           x += 1

           plt.subplot3,3,x)                 #生成9个子窗口

           plt.imshowim_filter[j][i]),plt.axis‘off’) #显示图像

    plt.tight_layout0,0.1,0)

    plt.show)

new_lena = saltNoise_imagelena,0.3)           #传入图片和噪声比例

filterImagenew_lena)                          #滤波

(1)采用卷积子大小为[3,5,7],噪声强度为5%,采用中值、均值、高斯滤波,其效果图如下:

现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]

(2)采用卷积子大小为[3,5,7],噪声强度为30%,采用中值、均值、高斯滤波,其效果图如下:现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]

分析:

    当对lena图像加入脉冲噪声时,不管强度是5%还是30%,所采用的中值和高斯滤波的效果都不理想,而采用中值滤波的效果却有明显的改善;且当卷积由3→5→7增大时,去除噪声干扰的效果越好,但是相对而说图像变得更加的模糊,丢失了更多的细节。由于对lena图像加入脉冲噪声导致原图的结构遭到了破坏,高斯和中值滤波都是线性滤波器,会带入很多的噪声进行计算,从而使得效果变得越加的不理想,而中值滤波是非线性滤波器,对噪声的依赖较低,所以它的滤波效果要明显的优于另外两种的滤波效果。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注