1目录实验一数字图像滤波处理…………………………2实验二数字图像锐化处理…………………………10实验三数字图像平滑处理…………………………14实验四数字图像的直方图规定化…………………16实验五数字图像的傅立叶变换……………………202实验一数字图像滤波处理一、实验目的(一)掌握数字图像滤波处理的算法原理。(二)熟悉数字图像滤波处理的算法原理。二、实验原理和方法(一)均值滤波平滑线形空间滤波的输出(响应)是包含在滤波掩模邻域内像素的简单平均值。因此,这些滤波器也称均值滤波器,指的是低通滤波器。它是用滤波掩模确定的邻域内像素的平均灰度值代替图像中每个像素点的值,这种处理减小了图像灰度的“尖锐”变化。图1-1显示了两个33的平滑滤波器。第一个滤波器产生掩模下的标准像素平均值,把掩模系数代入式zwzwzwzwiiiR91992211(1.1)(w为掩模系数,z为与该系数对应的灰度值)即可得9191iizR(1.2)111111111图1-1两个33均值滤波器掩模。R是由掩模定义的33邻域像素灰度的平均值。一个nm掩模应有mn1的归一化常数。图1-1第二种掩模更重要,也称加权平均,处于掩模中心位置的像素比其他任何像素就显得不太重要。由于对角项离中心比离正交方向相邻的像素更远,所以它的重要性比与中心直接相邻的四个像素低。把中心点加强的最高,而随着距中心加强为最高,而随着距中心点距离的增加减小系数值,是为了减小平滑处理中的模糊。所有系数的和是16,2的整数次幂,便于计算机的实现。一幅NM的图像经过一个nm(m和n是奇数)的加权均值滤波器滤波的过程可由下式给出:aasbbtaasbbttswtysxftswyxg,,,,(1.3)可理解为一幅完全滤波的图像是由对1,2,1,0Mx和1,2,1,0Ny执行式(1.3)得到的。(二)中值滤波统计滤波器是一种非线性的空间滤波器,它的响应基于图像滤波器包围的图像区域中像素的排列,然后用统计排序结果决定的值代替中心像素的值。统计滤波器中最常见的例子是中值滤波器,是将邻域内像素灰度的中值代替该像素的值。对处1212421213理椒盐噪声非常有效。(三)频率域低通滤波在频域中,基本的滤波“模型”由下式给出vuFvuHvuG,,,(1.4)其中,vuF,是被平滑的图像傅立叶变换。目标是选择一个滤波器变换函数vuH,,以通过衰减vuF,的高频成分产生vuG,。1、理想低通滤波器理想低通滤波器(ILPE)是“截断”傅立叶变换中的所有高频成分,这些成分处在距变换原点的距离比指定距离0D远得多的位置。其变换函数为vuH,00),(0),(1DvuDDvuD(1.5)0D是指定的非负数值,vuD,是vu,点距频率矩形中心的距离。“理想滤波器”的名称表明在半径为0D的圆内,所有频率无衰减地通过滤波器,而在此半径的圆之外的所有频率完全被衰减掉。2、巴特沃思低通滤波器n阶巴特沃思低通滤波器(BLPE)的传递函数(且截止滤波距原点的距离为0D)定义如下:]/),([011,2DvuDnvuH(1.6)其中2122)2/()2/(),(NvMuvuD。不同于ILPE,BLPE变换函数在通带与被滤除的频率之间没有明显的截断。对于有平滑传递函数的滤波器,定义一个截止频率的位置并使H),(vu幅度降到其最大值的一部分。在式(1.5)中,当0),(DvuD时,5.0),(vuH(从最大值1降到它的%50)。3、高斯低通滤波器二维高斯低通滤波器形式如下:222/),(),(vuDevuH(1.7)其中),(vuD是距傅立叶变换原点的距离,假定将变换移至频域中心。表示高斯曲线扩展的程度。使0D,可以使滤波器表示如下:2022/),(),(DvuDevuH(1.8)其中0D是截止频率。当0),(DvuD时,滤波器下降到它最大值的0.607倍处。(四)逆滤波与维纳滤波比较1、逆滤波逆滤波是用退化函数除退化图像的傅立叶变换)),((vuG来计算原始图像的傅立叶变换估计),(ˆvuF,如下所示:4),(),(),(ˆvuHvuGvuF(1.9)该式是在函数的独立元素间相除。对式(1.9)中的),(vuG,用下式替换:),(),(),(),(ˆvuHvuNvuFvuF(1.10)应为),(vuN是随机函数,它的傅立叶变换未知,所以即使知道退化函数,也不能准确的复原未退化的函数。2、维纳滤波维纳滤波也称为最小均方误差滤波器,或最小二乘方误差滤波器。它是建立在人为图像和噪声是随机过程的基础上,而目标是找一个未污染图像f的估计值fˆ,使它们之间的均方误差最小。误差度量由下式给出:22)ˆ(ffEe(1.11)E是宗量的期望值。这里假定噪声和图像不相关,其中一个有零均值且估计的灰度级是退化图像灰度级的线性函数。在这些条件下(1.11)中误差函数的最小值在频域用下列表达式计算:),(),(),(),(),(),(),(ˆ2*vuGvuSvuHvuSvuSvuHvuFff),(),(/),(),(),(2*vuGvuSvuSvuHvuHf(1.12)),(),(/),(),(),(),(122vuGvuSvuSvuHvuHvuHf即一个复数量与它的共轭的乘积等于复数量幅度的平方。),(vuH为退化函数,),(vuH为),(vuH的复共轭,),(),(),(*2vuHvuHvuH,2|),(|),(vuNvuS为噪声的功率谱,2|),(|),(vuFvuSf为未退化图像的功率谱。当处理白噪声时,谱2|),(|vuN是一个常数,大大简化了处理过程。然而,未退化图像的功率谱很少是已知的。当这些值未知或不能估计时,经常使用的方法是用下面的表达式近似:),(|),(||),(|),(1),(ˆ22vuGKvuHvuHvuHvuF(1.13)K是一个特殊常数。如果噪声是零,则噪声功率谱消失,并且维纳滤波退化为逆滤波。三、实验结果及分析5(一)利用均值滤波器对含有椒盐噪声的图像进行处理,实验结果如图1-2所示:图1-2分析:图中显示了一幅摄影师的原始图像,加入噪声后的图像和分别用尺寸为9,7,5,3n的方形均值滤波器得到的相应的平滑结果。这些结果主要特点有:当3n时,可以观察到在整幅图像中有轻微的模糊,当图像细节与滤波器掩模近似相同时,图像中一些细节受到的影响比较大;当5n时,模糊程度稍微有所增加,当9n时,更加模糊了。均值滤波起到了降噪的作用,但使图像有所模糊了。(二)利用中值滤波器对含有椒盐噪声的图像进行处理,实验结果如图1-3所示:图1-3分析:图像显示了加噪声后和利用中值滤波器降噪后的图像,比较得图像更加清晰。与均值滤波相比,中值滤波更适合于去除椒盐噪声。(三)利用频率域低通滤波器对加入噪声图像进行处理,实验结果如图1-4所示:6图1-4分析:图像显示了十枚硬币的图像和经过低通滤波处理后的图像。几种中滤波器都通过衰减图像傅里叶变换中高频成分来实现,虽图像得到平滑效果,但更显模糊。理想低通滤波得到的图像严重模糊,且出现振铃;巴特沃思模糊程度的平滑过渡时截止滤波增加的作用,随阶数的增高振铃渐明显;而高斯滤波器没有振铃。(四)利用逆滤波和维纳滤波对图像进行处理,实验结果如图1-5所示:图1-5分析:图像显示了原图像、加入高斯噪声后的图像、及通过逆滤波和维纳滤波处理后的图像。逆滤波通过对退化图像的退化函数精确取反,并使用方向滤波的图像。得到的退化值变得非常小,以至于噪声影响了结果。而维纳滤波中K值得交互式选择寻找到最好的视觉效果,使得维纳滤波的结果接近原始图像。对比发现,逆滤波图像中的噪声非常强,它的结构属于去模糊滤波,但维纳滤波效果更好,更接近原始图像。四、思考题数字图像滤波处理的目的是什么?试写出相应的程序设计步骤。平滑滤波器用于模糊处理和减小噪声。模糊处理经常用于预处理,例如在提取大的目标之前去除图像中的一些琐碎细节、桥接直线或曲线的缝隙。通过线性滤波器和非线性滤波器的模糊处理可以减小噪声。边缘和其他尖锐变化(如噪声)在图像的灰度级中主要处于傅立叶变换的高频部分,平滑(模糊)可以通过衰减指定图像傅立叶变换中高频成分的范围实现减小噪声效果。使图像更清晰便于分析。利用Matlab语言编写的数字图像处理的例程如下:7%均值滤波I=imred('cameraman.tif');J=imnoise(I,'salt&pepper',0.02);subplot(2,3,1);imshow(I);title('原图像');subplot(2,3,2);imshow(J);title('加噪声后的图像');k1=filter2(fspecial('average',3),J);k2=filter2(fspecial('average',5),J);k3=filter2(fspecial('average',7),J);k4=filter2(fspecial('average',9),J);subplot(2,3,3),imshow(uint8(k1));title('3*3模版平滑滤波');subplot(2,3,4),imshow(uint8(k1));title('5*5模版平滑滤波');subplot(2,3,5),imshow(uint8(k1));title('7*7模版平滑滤波');subplot(2,3,6),imshow(uint8(k1));title('9*9模版平滑滤波');%中值滤波I=imread('eight.tif');J=imnoise(I,'salt&pepper',0.02);K=medfilt2(J);subplot(1,2,1);imshow(J);title('加噪声后的图像');subplot(1,2,2);imshow(K);title('中值滤波处理后的图像');%频率域低通滤波[I,map]=imread('coins.png');noisy=imnoise(I,'gaussian',0.01);imshow(noisy,map);title('加入高斯噪声后的图像');[MN]=size(I);noisy=double(noisy());F=fft2(noisy);fftshift(F);Dcut=100;D0=150;D1=250;foru=1:Mforv=1:ND(u,v)=sqrt(u^2+v^2);BUTTERH(u,v)=1/(1+(sqrt(2)-1)*(D(u,v)/Dcut)^2);EXPOTH(u,v)=exp(log(1/sqrt(2))*(D(u,v)/Dcut)^2);8ifD(u,v)=200IDEALH(u,v)=1;elseIDEALH(u,v)=0;endifD(u,v)=D0TRAPEH(u,v)=1;elseifD(u,v)=D1TRAPEH(u,v)=(D(u,v)-D1)/(D0-D1);elseTRAPEH(u,v)=0;endendendendIDEALG=IDEALH.*F;IDEALfiltered=ifft2(IDEALG);BUTTERG=BUTTERH.*F;BUTTERfiltered=ifft2(BUTTERG);EXPOTG=EXPOTH.*F;EXPOTfiltered=ifft2(EXPOTG);TRAPEG=TRAPEH.*F;TRAPEfiltered=ifft2(TRAPEG);IDEALfiltered=abs(IDEALfiltered);BUTTERfiltered=abs(BUTTERfiltered);EXPOTfiltered=abs(EXPOTfiltered);TRAPEfiltered=abs(TRAPEfiltered)