欢迎访问有用文档网!

当前位置: 有用文档网 > 心得体会 >

数字图像处理实验报告

| 浏览次数:

 数字图像处理实验报告 实验一 数字图像基本操作及灰度调整

 一、实验目的

 1) 掌握读、写图像的基本方法。

 2) 掌握 MATLAB 语言中图像数据与信息的读取方法。

 3) 理解图像灰度变换处理在图像增强的作用。

 4) 掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方法。

 二、实验内容与要求

 1. 熟悉 B MATLAB 语言中对图像数据读取, , 显示等基本函数

 特别需要熟悉下列命令:熟悉 imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。

 1) 将 MATLAB 目录下 work 文件夹中的 forest、tif 图像文件读出、用到 imread,imfinfo 等文件,观察一下图像数据,了解一下数字图像在 MATLAB 中的处理就就是处理一个矩阵。将这个图像显示出来(用 imshow)。尝试修改 map 颜色矩阵的值,再将图像显示出来,观察图像颜色的变化。

 2) 将 MATLAB 目录下 work 文件夹中的 b747、jpg 图像文件读出,用 rgb2gray()将其 转化为灰度图像,记为变量 B。

 2. 图像灰度变换处理在图像增强的作用

 读入不同情况的图像,请自己编程与调用 Matlab 函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。

 3. 绘制图像灰度直方图的方法, , 对图像进行均衡化处理

  请自己编程与调用 Matlab 函数完成如下实验。

 1) 显示 B 的图像及灰度直方图,可以发现其灰度值集中在一段区域,用 imadjust 函 数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰度直方图与原灰度直方图的区别。

 2) 对 B 进行直方图均衡化处理,试比较与源图的异同。

 3) 对 B 进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。

 图1、1

 分段线性变换函数 三、实验原理与算法分析

 1. 灰度变换

 灰度变换就是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,就是图象数字化及图象显示的重要工具。

 1) 图像反转 灰度级范围为[0, L-1]的图像反转可由下式获得 r L s    1

 2) 对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接使用原图,则一部分细节可能丢失。解决的方法就是对原图进行灰度压缩,如对数变换: s

 = c log(1 + r ), c 为常数, r ≥ 0 3) 幂次变换: 0 , 0 ,    c cr s

 4) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸:

 其对应的数学表达式为:

 2. 直方图均衡化

 灰度直方图的横坐标就是灰度级,纵坐标就是该灰度级出现的频度,它就是图像最基本的统计特征。依据定义,在离散形式下, 用 r k 代表离散灰度级,用 p r (r k )代表 p r (r),并且有下式成立:

 nnr Pkk r ) (

 1 , , 2 , 1 , 0 1 0     l k r k 

 式中:n k 为图像中出现 r k 级灰度的像素数,n 就是图像像素总数,而 n k /n 即为频数。

 直方图均衡化处理就是以累积分布函数变换法为基础的直方图修正法。假定变换函数为

   d p r T srr) ( ) (0  

  (a) Lena图像

 (b) Lena图像的直方图 图1、2 Lena图像及直方图 当灰度级就是离散值时,可用频数近似代替概率值,即 1 , , 1 , 0 1 0 ) (      l k rnnr pkkk r

 式中:l 就是灰度级的总数目,p r (r k )就是取第 k 级灰度值的概率,n k 就是图像中出现第 k级灰度的次数,n 就是图像中像素总数。

 所以积分可以表示为下列累计分布函数(cumulative distribution function, CDF) 1 , , 1 , 0 1 0 ) ( ) (0 0        l k r r pnnr T sjkjj rkjjk k

 四、实验步骤

 1. 熟悉 B MATLAB 语言中对图像数据读取, , 显示等基本函数

 1) 文件读取与信息显示: load trees; [X,map]=imread("forest、tif"); subimage(X,map); I=imread("forest、tif"); imshow(I); imfinfo("forest、tif"); 2) map 颜色矩阵的修改 [X,map]=imread("forest、tif"); map1=map+map; subimage(X,map1); 3) 灰度图像的转化 RGB=imread("b747、jpg"); B=rgb2gray(RGB); 2. 图像灰度变换处理在图像增强的作用

 g1=imadjust(I,[0 1],[1 0]); g2=imcomplement(g1); g3=im2uint8(mat2gray(log(1+double(I))));

 3. 绘制图像灰 度直方图的方法, , 对图像进行均衡化处理

 1) 图像灰度直方图的显示与灰度调整 imhist(B); J = imadjust(B,[],[0 1]); imhist(J); subimage(J); 2) 对 B 进行直方图均衡化处理,试比较与原图的异同。

 I = imread("pout、tif");

 [J,T] = histeq(I);

 figure,plot((0:255)/255,T); 3) 对 B 进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。

 x1=0:0、01:0、125; x2=0、125:0、01:0、75; x3=0、75:0、01:1; y1=2*x1; y2=0、25+0、6*(x2-0、125); y3=0、625+1、5*(x3-0、75); x=[x1,x2,x3]; y=[y1,y2,y3]; subplot(2,2,4); plot(x,y); 五、实验结果分析与讨论

 1. 熟悉 B MATLAB 语言中对图像数据读取, , 显示等基本函数

 1) 图像文件的读出与图像数据的观察

 图1、3 真彩色图像与灰度图像显示 ans =

  : "F:\MATLAB\R2007a\toolbox\images\imdemos\forest、tif"

  : "04-Dec-2000 13:57:58"

 : 124888

 Format: "tif"

  FormatVersion: []

  Width: 447

 Height: 301

 BitDepth: 8

 ColorType: "indexed"

  FormatSignature: [73 73 42 0]

  ByteOrder: "little-endian"

 NewSub: 0

  BitsPerSample: 8

  Compression: "PackBits"

  PhotometricInterpretation: "RGB Palette"

 StripOffsets: [17x1 double]

  SamplesPerPixel: 1

 RowsPerStrip: 18

  StripByteCounts: [17x1 double]

  XResolution: 72

  YResolution: 72

 ResolutionUnit: "Inch"

 Colormap: [256x3 double]

  PlanarConfiguration: "Chunky"

  TileWidth: []

 TileLength: []

  TileOffsets: []

 TileByteCounts: []

  Orientation: 1

  FillOrder: 1

 GrayResponseUnit: 0、0100

 MaxSampleValue: 255

 MinSampleValue: 0

 Thresholding: 1

 ImageDescription: "Carmanah Ancient Forest, British Columbia, Canada" map 颜色矩阵修改后图像颜色的变化

 图1、4 原图像与map矩阵值增强一倍后的图像

  新的颜色矩阵值变成原文件的 2 倍,图像明显变亮,颜色的 R、G、B 值增强。

 2) 图像文件转化为灰度图像

  图1、5 真彩色图像与转化成的灰度图像 2. 图像灰度变换处理在图像增强的作用

  图 1、6 灰度变化增强(图像反转、求补、对数变换) 图中对图像文件进行了基本的灰度变换,包括用式 s = L – 1 – r 得到的图像反转,对反转图像的求补,以及对数变换的采用。

 3. 绘制图像灰度直方图的方法, , 对图像进行均衡化处理

 1) 图像灰度及灰度直方图的调整

  图1、7 灰度范围的调整与直方图显示 在原始图像中,直方图的组成成分集中在高灰度等级(亮)一侧,且图像灰度范围为[0,1],故将灰度值调整到[0,1]间后直方图无明显变化。类似的,将灰度值调整到[0,0、5]时,整个图像变暗,直方图横向压缩 1 倍。

 2) 直方图均衡化

 图1、8 原图像与灰度直方图均衡化结果

 原图像中目标物的灰度主要集中于高亮度部分,而且象素总数较多,所占的灰度等级较少。经过直方图均衡后,目标物的所占的灰度等级得到扩展,对比度加强,使整个图像得到增强。

 数字图像均衡化后,其直方图并非完全均匀分布,这就是因为图像的象素个数与灰度等级均为离散值,而且均衡化使灰度级并归。因此,均衡化后,其直方图并非完全均匀分布。

 3) 对 B 进行如图所示的分段线性变换处理

 图1、9 原图像与灰度直方图均衡化结果

 图1、10 线性变换函数图 通过在所关心范围内为所有灰度值指定一个较高值,而为其她灰度指定一个较低值,或将所需范围变亮,分段线性变换可提高图像中特定灰度范围的亮度,常用于图像特征值的提取。

 这里将原始图像位于[0、125,0、75]间的灰度值调低,放大其余的灰度值,突出显示图像低频域与高频域的部分。

 六、参考文献

 [美] Rafael C、Gonzalez、数字图像处理(第二版)[M]、阮秋琦 阮宇智,译、北京:电子工业出版社,2003、3、 实验二 数字图像的空间域滤波与频域滤波

 一、实验目的

 1. 掌握图像滤波的基本定义及目的。

 2. 理解空间域滤波的基本原理及方法。

 3. 掌握进行图像的空域滤波的方法。

 4. 掌握傅立叶变换及逆变换的基本原理方法。

 5. 理解频域滤波的基本原理及方法。

 6. 掌握进行图像的频域滤波的方法。

 二、实验内容与要求

 1. 平滑空间滤波: :

 1) 读出 eight、tif 这幅图像,给这幅图像分别加入椒盐噪声与高斯噪声后并与前一张图 显示在同一图像窗口中。

 2) 对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果, 要求在同一窗口中显示。

 3) 使用函数 imfilter 时,分别采用不同的填充方法(或边界选项,如零填 充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像。

 4) 运用 for 循环,将加有椒盐噪声的图像进行 10 次,20 次均值滤波,查瞧其特点,显 示均值处理后的图像(提示:利用 fspecial 函数的’average’类型生成均值滤波器)。

 5) 对加入椒盐噪声的图像分别采用均值滤波法,与中值滤波法对有噪声的图像做处 理,要求在同一窗口中显示结果。

 6) 自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。

 2. 锐化空间滤波

 1) 读出 blurry_moon、tif 这幅图像,采用 3×3 的拉普拉斯算子 w = [ 1, 1, 1; 1 – 8 1; 1, 1,

 1]对其进行滤波。

 2) 编写函数 w = genlaplacian(n),自动产生任一奇数尺寸 n 的拉普拉斯算子,如 5×5 的拉普拉斯算子 w =

 [ 1

  1

  1

  1

  1

 1

  1

  1

  1

  1

  1

  1

  -24

  1

  1

  1

  1

  1

  1

  1

  1

  1

  1

  1

  1] 3) 分别采用 5×5,9×9,15×15 与 25×25 大小的拉普拉斯算子对 blurry_moon、tif 进 行锐化滤波,并利用式2( , ) ( , ) ( , ) g x y f x y f x y   完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示。

 4) 采用不同的梯度算子对 blurry_moon、tif 进行锐化滤波,并比较其效果。

 5) 自己设计锐化空间滤波器,并将其对噪声图像进行处理,显示处理后的图像; 3. 傅立叶变换

 1) 读出 woman、tif 这幅图像,对其进行快速傅立叶变换,分别显示其幅度图像与相位 图像。

 仅对相位部分进行傅立叶反变换后查瞧结果图像。

 2) 仅对幅度部分进行傅立叶反变换后查瞧结果图像。

 3) 将图像的傅立叶变换 F 置为其共轭后进行反变换,比较新生成图像与原始图像的差 异。

 4. 平滑频域滤波

 1) 设计理想低通滤波器、巴特沃斯低通滤波器与高斯低通滤波器,截至频率自选,分 别给出各种滤波器的透视图。

 2) 读出 test_pattern、tif 这幅图像,分别采用理想低通滤波器、巴特沃斯低通滤波器与高 斯低通滤波器对其进行滤波(截至频率自选),再做反变换,观察不同的截止频率下采用不同低通滤波器得到的图像与原图像的区别,特别注意振铃效应。(提示:1)在频率域滤波同样要注意到填充问题;2)注意到(-1) x+y ;) 5. 锐化频域滤波

 1) 设计理想高通滤波器、巴特沃斯高通滤波器与高斯高通滤波器,截至频率自选,分 别给出各种滤波器的透视图。

 2) 读出 test_pattern、tif 这幅图像,分别采用理想高通滤波器、巴特沃斯高通滤波器与高 斯高通滤波器对其进行滤波(截至频率自选),再做反变换,观察不同的截止频率下采用不同高通滤波器得到的图像与原图像的区别。

 三、实验原理与算法分析

 1. 空间域增强

 空间域滤波就是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都就是根据模板对输入像素相应领域内的像素值进行计算得到的。空域滤波基本上就是让图像在频域空间内某个范围的分量受到抑制,同时保证其她分量不变,从而改变输出图像的频率分布,达到增强图像的目的。

 空域滤波一般分为线性滤波与非线性滤波两类。线性滤波器的设计常基于对傅立叶变换 的分析,非线性空域滤波器则一般直接对领域进行操作。各种空域滤波器根据功能主要分为 平滑滤波器与锐化滤波器。平滑可用低通来实现,平滑的目的可分为两类:一类就是模糊,目 的就是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类就是消除噪 声。锐化可用高通滤波来实现,锐化的目的就是为了增强被模糊的细节。结合这两种分类方法, 可将空间滤波增强分为四类: 线性平滑滤波器(低通) 非线性平滑滤波器(低通) 线性锐化滤波器(高通) 非线性锐化滤波器(高通) 空间滤波器都就是基于模板卷积,其主要工作步骤就是: 1) 将模板在图中移动,并将模板中心与图中某个像素位置重合; 2) 将模板上的系数与模板下对应的像素相乘; 3) 将所有乘积相加; 4) 将与(模板的输出响应)赋给图中对应模板中心位置的像素。

 2. 平滑滤波器

 1) 线性平滑滤波器 线性低通平滑滤波器也称为均值滤波器,这种滤波器的所有系数都就是正数,对3×3 的模板来说,最简单的就是取所有系数为1,为了保持输出图像任然在原来图像的灰度值范围 内,模板与象素邻域的乘积都要除以9。

 MATLAB 提供了fspecial 函数生成滤波时所用的模板,并提供filter2 函数用指定的滤 波器模板对图像进行运算。函数fspecial 的语法格式为: h=fspecial(type);

 h=fspecial(type,parameters); 其中参数 type 指定滤波器的种类,parameters 就是与滤波器种类有关的具体参数。

 表2、1 MATLAB中预定义的滤波器种类 MATLAB 提供了一个函数imnoise 来给图像增添噪声,其语法格式为: J=imnoise(I,type); J=imnoise(I,type,parameters); 参数type 指定噪声的种类,parameters 就是与噪声种类有关的具体参数。参数的种类见 表2、2。

 表 2、2 噪声种类及参数说明 2) 非线性平滑滤波器 中值滤波器就是一种常用的非线性平滑滤波器,其滤波原理与均值滤波器方法类似,但计 算的非加权求与,而就是把领域中的图像的象素按灰度级进行排序,然后选择改组的中间值作为输出象素值。

 MATLAB 提供了medfilt2 函数来实现中值滤波,其语法格式为: B=medfilt2(A,[m n]); B=medfilt2(A);

 其中,A 就是原图象,B 就是中值滤波后输出的图像。[m n]指定滤波模板的大小,默认模 板为 3×3。

 3. 锐化滤波器

 图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,需要利 用图像锐化技术,使图像的边缘变得清晰。

 1) 线性锐化滤波器 线性高通滤波器就是最常用的线性锐化滤波器。这种滤波器的中心系数都就是正的,而周围 的系数都就是负的,所有的系数之与为0。

 对3×3 的模板来说,典型的系数取值为: [-1 -1 -1; -1

 8 -1; -1 -1 -1] 事实上这就是拉普拉斯算子。语句h=-fspecial(‘laplacian’,0、5)得到的拉普拉斯算子为: h =-0、3333 -0、3333 -0、3333 -0、3333 2、6667 -0、3333 -0、3333 -0、3333 -0、3333 2) 非线性锐化滤波 邻域平均可以模糊图像,因为平均对应积分,所以利用微分可以锐化图像。图像处理中 最常用的微分方法就是利用梯度。常用的空域非线性锐化滤波微分算子有sobel 算子、prewitt 算子、log 算子等。

 4. 频域增强

 频域增强就是利用图像变换方法将原来的图像空间中的图像以某种形式转换到其她空间 中,然后利用该空间的特有性质方便地进行图像处理,最后再转换回原来的图像空间中,从 而得到处理后的图像。

 频域增强的主要步骤就是: 选择变换方法,将输入图像变换到频域空间。

 在频域空间中,根据处理目的设计一个转移函数,并进行处理。

 将所得结果用反变换得到增强的图像。

 常用的频域增强方法有低通滤波与高通滤波。

 5. 低通滤波

 图像的能量大部分集中在幅度谱的低频与中频部分,而图像的边缘与噪声对应于高频部 分。因此能降低高频成分幅度的滤波器就能减弱噪声的影响。由卷积定理,在频域实现低通 滤波的数学表达式: G(u,v) =H(u,v)F(u,v) 1) 理想低通滤波器(ILPF)

 2) 巴特沃斯低通滤波器(BLPF)

  3) 指数型低通滤波器(ELPF)

 6. 高通滤波

 由于图像中的细节部分与其高频分量相对应,所以高通滤波可以对图像进行锐化处理。高通滤波与低通滤波相反,它就是高频分量顺利通过,使低频分量受到削弱。高通滤波器与低通滤波器相似,其转移函数分别为: 1) 理想高通滤波器(IHPF)

 2) 巴特沃斯高通滤波器(BLPF)

 3) 指数型高通滤波器(ELPF)

 图像经过高通滤波处理后,会丢失许多低频信息,所以图像的平滑区基本上会消失。所 以,可以采用高频加强滤波来弥补。高频加强滤波就就是在设计滤波传递函数时,加上一 个大于0小于1的常数c,即: H′(u,v) =H(u,v)+c

 四、实验步骤

 1. 平滑空间滤波: :

 1) 椒盐噪声与高斯噪声的加入

 I=imread("eight、tif"); imshow(I); J = imnoise(I,"salt & pepper",0、05);

  %noise density=0、05 K= imnoise(I,"gaussian",0、01,0、01);

  2) 不同的平滑(低通)模板的处理 H = fspecial("sobel"); Sobel = imfilter(I,H,"replicate"); H = fspecial("laplacian",0、4); lap = imfilter(I,H,"replicate"); H = fspecial("gaussian",[3 3],0、5);

 gaussian = imfilter(I,H,"replicate"); 3) 不同填充方法的滤波 originalRGB = imread("peppers、png"); h = fspecial("motion", 50, 45);

 %motion blurred filteredRGB = imfilter(originalRGB, h); boundaryReplicateRGB = imfilter(originalRGB, h, "replicate"); boundary0RGB = imfilter(originalRGB, h, "x"); boundary0RGB = imfilter(originalRGB, h, 0); boundarysymmetricRGB = imfilter(originalRGB, h, "symmetric"); boundarycircularRGB = imfilter(originalRGB, h, "circular"); 4) 多次均值滤波 J = imnoise(I,"salt & pepper",0、05); h=fspecial("average");

  %Averaging Filtering J1=imfilter(J,h); for i=1:10 J1=imfilter(J,h); end for i=1:20 J2=imfilter(J,h); 5) 均值、中值滤波 h=fspecial("average");

  %Averaging Filtering J1=imfilter(J,h); J2=medfilt2(J);

 %Median Filtering 6) 自行设计平滑空间滤波器 domain=[0 0 8 0 0;

 0 0 8 0 0;

 8 8 8 8 8;

 0 0 8 0 0;

 0 0 8 0 0]; K1= ordfilt2(J,5,domain); 2. 平滑空间滤波: :

 1) 3×3 的拉普拉斯算子滤波 I=imread("blurry_moon、tif"); T=double(I); subplot(1,2,1),imshow(T,[]);title("Original Image"); w =[1,1,1; 1,-8,1; 1,1,1]; K=conv2(T,w,"same"); 2) 奇数尺寸拉普拉斯算子随机产生函数 function w = genlaplacian(n) %Computes the Laplacian operator w = ones(n);

 x = ceil(n/2); w(x, x) = -1 * (n * n - 1); 3) 不同尺寸拉普拉斯算子滤波以及图像增强 w1 = genlaplacian(5); I=imread("blurry_moon、tif"); T=double(I); K=conv2(T,w1,"same"); J=T-K; 4) 不同尺寸梯度算子的锐化滤波

 [I,map]=imread("blurry_moon、tif"); I=double(I); [Gx,Gy]=gradient(I);

  % gradient calculation G=sqrt(Gx、*Gx+Gy、*Gy);

  % matrix

 J1=G;

 % gradient1 imshow(J1,map);

 J2=I;

  % gradient2 K=find(G>=7); J2(K)=G(K); imshow(J2,map);

 J3=I;

 % gradient3 K=find(G>=7); J3(K)=255; imshow(J3,map);

 J4=I;

 % gradient4 K=find(G<=7); J4(K)=255; imshow(J4,map);

 J5=I;

  % gradient5 K=find(G<=7); J5(K)=0; Q=find(G>=7); J5(Q)=255; imshow(J5,map); 5) 自行设计锐化空间滤波器

 domain=[8 8 0 8 8;

  8 8 0 8 8;

  0 0 0 0 0;

  8 8 0 8 8;

  8 8 0 8 8]; K1= ordfilt2(J,5,domain); 3. 傅立叶变换

 1) 图像的快速傅立叶变换,分别显示其幅度图像与相位图像。

 F=imread("woman、tif"); F1=fft2(F);

 F2=log(1+abs(F1));

  %amplitude spectrum F3=fftshift(F1); imshow(log(1+abs(F3)),[]); F4=angle(F1);

 %phase spectrum 2) 相位部分进行傅立叶反变换。

 F1=fft2(F); i=sqrt(-1); f2=ifft2(exp(i*angle(F1))); imshow(real(f2),[]); 3) 幅度部分进行傅立叶反变换。

 f1=ifft2(abs(F1)); imshow(log(1+abs(f1)),[]); 4) 将图像的傅立叶变换 F 置为其共轭后进行反变换 F1=fft2(F); F2=log(1+abs(F1));

  %amplitude spectrum F3=fftshift(F1); F4=angle(F1);

  %phase spectrum F5=-F4

 F6= double(F3*exp(F4));

 %the complex conjugate of the fourier transform

 F7=ifft2(F6);

 %inverse fourier transform imshow(real(F7),[]); 4. 平滑频域滤波

 理想低通滤波器、巴特沃斯低通滤波器与高斯低通滤波器的设计与滤波 理想低通滤波器 I=imread("test_pattern、tif"); f=double(I);

  % chage into double as MATLAB doesn’t suppor calculation

  % of image in unsigned int type g=fft2(f);

  % fourier transform g=fftshift(g);

 % zero-frequency area centralized [M,N]=size(g); d0=100;

 %cutoff frequency m=fix(M/2); n=fix(N/2); for i=1:M

 for j=1:N

 d=sqrt((i-m)^2+(j-n)^2);

 if(d<=d0)

 h=1;

 else h=0;

  end

 result(i,j)=h*g(i,j);

  end end result=ifftshift(result); J1=ifft2(result);

 J2=uint8(real(J1)); imshow(J2)

 巴特沃斯 低通滤波器( 二阶) I=imread("test_pattern、tif"); f=double(I);

  g=fft2(f);

 g=fftshift(g);

  [M,N]=size(g); nn=2;

  % 2-grade Butterworth lowpss filter d0=100; m=fix(M/2); n=fix(N/2); for i=1:M

 for j=1:N

 d=sqrt((i-m)^2+(j-n)^2);

 h=1/(1+0、414*(d/d0)^(2*nn)); % filter transform function

 %h=1、/(1+(d、/d0)、^(2*n)) %h=exp(-(d、^2)、/(2*(d0^2)));

 result(i,j)=h*g(i,j);

 end end result=ifftshift(result); J1=ifft2(result); J2=uint8(real(J1)); imshow(J2);

 高斯低通滤波 I=imread("test_pattern、tif"); f=double(I);

  g=fft2(f);

 g=fftshift(g);

  [M,N]=size(g); d0=100; m=fix(M/2); n=fix(N/2); for i=1:M

 for j=1:N

 d=sqrt((i-m)^2+(j-n)^2); h=exp(-(d、^2)、/(2*(d0^2)));

  % gaussian filter transform

 result(i,j)=h*g(i,j);

 end end result=ifftshift(result); J1=ifft2(result); J2=uint8(real(J1)); 5. 锐化频域滤波

 理想高通滤波器、巴特沃斯高通滤波器与高斯高通滤波器的设计与滤波

 理想高通滤波器 I=imread("test_pattern、tif"); f=double(I);

 g=fft2(f);

 g=fftshift(g);

 [M,N]=size(g); d0=80;

 %d0=15,25,80 m=fix(M/2); n=fix(N/2); for i=1:M

 for j=1:N

 d=sqrt((i-m)^2+(j-n)^2);

 if(d>=d0)

 h=1;

 else h=0;

  end

 result(i,j)=h*g(i,j);

  end end result=ifftshift(result); J1=ifft2(result);

  J2=uint8(real(J1)); 巴特沃斯高通滤波器 I=imread("test_pattern、tif"); f=double(I);

 g=fft2(f);

 g=fftshift(g);

 [M,N]=size(g); nn=2;

 % 2-grade nutterworth highpass filter d0=80; m=fix(M/2); n=fix(N/2); for i=1:M

 for j=1:N

 d=sqrt((i-m)^2+(j-n)^2);

 if (d==0)

  h=0;

 else

  h=1/(1+0、414*(d0/d)^(2*nn));%transform fuction calculation

 end result(i,j)=h*g(i,j); end end result=ifftshift(result); J1=ifft2(result);

 J2=uint8(real(J1)); 高斯高通滤波器 I=imread("test_pattern、tif"); f=double(I);

  g=fft2(f);

 g=fftshift(g);

  [M,N]=size(g); d0=80; m=fix(M/2); n=fix(N/2); for i=1:M

 for j=1:N

 d=sqrt((i-m)^2+(j-n)^2); h=1-exp(-(d、^2)、/(2*(d0^2)));

  % gaussian filter transform

 result(i,j)=h*g(i,j);

 end end result=ifftshift(result); J1=ifft2(result); J2=uint8(real(J1)); 五、实验结果分析与讨论

 1. 平滑空间滤波: 1) 读出 eight、tif 这幅图像,给这幅图像分别加入椒盐噪声与高斯噪声后并与前一张图显示在同一图像窗口中。

 图2、1 初始图像及椒盐噪声图像、高斯噪声污染图 2) 对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。

  图2、2 原图像及各类低通滤波处理图像 3) 使 用 函 数 imfilter 时 , 分 别 采 用 不 同 的 填 充 方 法 ( 或 边 界 选 项 , 如 零 填充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像。

 图2、3 原图像及运动模糊图像

  图2、4 函数imfilter各填充方式处理图像 4) 运用 for 循环,将加有椒盐噪声的图像进行 10 次,20 次均值滤波,查瞧其特点,显示均值处理后的图像。

 图2、5 椒盐噪声污染图像经10次、20次均值滤波图像

  由图2、5可得,20次滤波后的效果明显好于10次滤波,但模糊程度也更强。

 5) 对加入椒盐噪声的图像分别采用均值滤波法,与中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。

 图2、6 椒盐噪声污染图像及均值、中值滤波图像

 从图2、6中可以瞧出,对于椒盐噪声污染的图像处理,中值滤波效果要明显好于均值滤波。经均值滤波器处理后的图像比均值滤波器中结果图像更加模糊。

 6) 设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。

 图2、7 椒盐噪声污染图像及5*5平滑滤波器掩模 掩模值为 w=1/25*[1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1]

 图2、8 椒盐噪声污染图像及5*5平滑滤波器掩模 掩模值为 w= [0 0 8 0 0;0 0 8 0 0;8 8 8 8 8; 0 0 8 0 0;0 0 8 0 0] 2. 锐化空间滤波 1) 采用 3×3 的拉普拉斯算子 w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1]滤波

 图2、9 初始图像与拉普拉斯算子锐化图像 2) 编写函数 w = genlaplacian(n),自动产生任一奇数尺寸 n 的拉普拉斯算子,如 5×5 的拉普拉斯算子:

 w =

 [ 1

  1

  1

  1

  1

 1

  1

  1

  1

  1

  1

  1

  -24

  1

  1

  1

  1

  1

  1

  1

  1

  1

  1

  1

  1] 3) 分别采用 5×5,9×9,15×15 与 25×25 大小的拉普拉斯算子对 blurry_moon、tif 进行锐化滤波,并利用式2( , ) ( , ) ( , ) g x y f x y f x y  完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示。

 图2、10 初始图像与不同拉普拉斯算子锐化图像 图像锐化的实质就是将原图像与梯度信息叠加,相当于对目标物的边缘进行了增强。

 图2、11 拉普拉斯算子锐化与锐化增强图像 4) 采用不同的梯度算子对 blurry_moon、tif 进行锐化滤波,并比较其效果

  图2、12 原始图像与不同梯度子锐化图像

  作为二阶微分算子,拉普拉斯变换在图像细节的增强处理上有明显的优点,但会产生更多的噪声。梯度变换在灰度变化区域的响应更强,但对噪声与细节的响应比拉普拉斯变换弱。

 5) 自己设计锐化空间滤波器,并将其对噪声图像进行处理,显示处理后的图像;

 图2、13 原始图像与不同边缘锐化图像 3. 傅立叶变换 1) 读出 woman、tif 这幅图像,对其进行快速傅立叶变换,分别显示其幅度图像与相位图像。

  图 2、14 原始图像与快速傅立叶变换图像 2) 仅对相位部分进行傅立叶反变换后查瞧结果图像。

 图 2、15 原始图像与对全部信息进行傅立叶逆变换结果

  图 2、16 仅对相位信息进行傅立叶逆变换结果 相位谱决定了图像信号中各频率分量的位置。

 3) 仅对幅度部分进行傅立叶反变换后查瞧结果图像。

 图 2、17 仅对幅度信息进行傅立叶逆变换结果 4) 将图像的傅立叶变换 F 置为其共轭后进行反变换,比较新生成图像与原始图像的差异。

 图 2、18 共轭傅立叶逆变换结果 傅立叶变换的相位谱为对称的,原变换与其共轭变换间仅频率谱互为相反。

 4. 平滑频域滤波 1) 设计理想低通滤波器、巴特沃斯低通滤波器与高斯低通滤波器

  图 2、19 理想低通滤波器透视图

 图 2、20 巴特沃斯低通滤波器透视图

  图 2、21 高斯低通滤波器透视图 由各类低通滤波器透视图可见,高斯滤波器剖面线最平滑,二阶巴特沃斯低通滤波器函数剖面线较为紧凑,而理想滤波器完全为圆筒状结构,未考虑选择范围内不同信息频率的差别化处理。

 2) 理想低通滤波器、巴特沃斯低通滤波器与高斯低通滤波器的滤波

 图 2、22 理想低通滤波器滤波效果(d0=15,30,100) 当截止频率 do = 15 时,滤波后的图像模糊,难以分辨,振铃现象明显。

 当 do = 30 时,滤波后的图像模糊减弱,能分辨出字母与图形轮廓,但由于理想低通滤波器在频率域的锐截止特性,滤波后的图像仍有较明显的振铃现象。

 当 do = 100 时,滤波后的图像比较清晰,但高频分量损失后,图像边沿与文字变的有些模糊,在图像的边框(如条带与矩形轮廓)附近仍有轻微振铃现象。

  图 2、23 巴特沃斯低通滤波器滤波效果(d0=15,30,100) 图 2、23 中显示了 3 种二阶巴特沃斯低通滤波器的滤波效果,各截止频率同图 2、22。二阶的巴特沃斯低通滤波器显示了轻微的振铃与较小的负值,但远不如理想滤波器明显。

 一阶巴特沃斯滤波器无振铃现象,在二阶中振铃通常很微小。阶数越高振铃现象越明显,一个 20 阶的巴特沃斯低通滤波器已经呈现出理想低通滤波器的特性。

 图 2、24 高斯低通滤波器滤波效果(d0=15,30,100) 图 2、24 中显示了 3 种高斯低通滤波器的滤波效果,各截止频率同图 2、22。高斯低通滤波器无法达到有相同截止频率的二阶巴特沃斯低通滤波器的平滑效果,但此时结果图像中

 无振铃现象产生。

 5. 锐化频域滤波 设计理想高通滤波器、巴特沃斯高通滤波器与高斯高通滤波器 理想高通滤波器

 图 2、25 理想高通滤波器透视图 巴特沃斯高通滤波器

 图 2、26 巴特沃斯高通滤波器透视图 高斯高通滤波器

  图 2、27 高斯高通滤波器透视图

 图 2、28 理想、巴特沃斯及高斯高通滤波器投影图 理想高通滤波器、巴特沃斯高通滤波器与高斯高通滤波器滤波 理想高通滤波器

  图 2、29 理想高通滤波器滤波效果(d0=15,25,80) 当 d0 = 15 时,滤波后的图像无直流分量,但灰度的变化部分基本保留。

 当 d0 = 25 时,滤波后的图像在字母与图像轮廓的大部分信息仍然保留。

 当 d0 = 80 时,滤波后的图像只剩下字母笔画转折处、条带边缘及斑点等信号突变的部分。

 巴特沃斯高通滤波器

 图 2、30 巴特沃斯高通滤波器滤波效果(d0=15,25,80)

 类似于低通滤波器,巴特沃斯高通滤波器比理想高通滤波器更加平滑,边缘失真情况比后者小得多。

 高斯高通滤波器

 图 2、31 高斯高通滤波器滤波效果(d0=15,25,80) 高斯高通滤波器得到的结果比前两种滤波器更为平滑,结果图像中对于微小的物体(如斑点)与细条的过滤也就是较为清晰的。

 六、参考文献

 [美] Rafael C、Gonzalez、数字图像处理(第二版)[M]、阮秋琦 阮宇智,译、北京:电子工业出版社,2003、3、

推荐访问:图像处理 实验 数字

热门排行Top Ranking

新时代青年的奋斗精神心得体会5篇

新时代青年的奋斗精神心得体会5篇新时代青年的奋斗精神心得体会篇1为进一步弘扬爱国奋斗奉献精神,激励党

坚持总体国家安全观心得体会250字8篇

坚持总体国家安全观心得体会250字8篇坚持总体国家安全观心得体会250字篇1“安而不忘危,存而不忘亡

宣传部部长心得体会15篇

宣传部部长心得体会15篇宣传部部长心得体会篇1首先,感谢领导给我这次评选优秀员工的机会,也感谢您能在

管理信息系统案例

第一章 信息系统与管理 案例((或实例) 得讨论题及点评((或回答)) [实例]利润计划工作中得反复

大学生体育课心得体会1500字5篇

大学生体育课心得体会1500字5篇大学生体育课心得体会1500字篇1不知不觉,进入大学第一个学期的体

XX乡镇防止返贫致贫监测和帮扶工作方案

XX乡镇防止返贫致贫监测和帮扶工作方案 为认真落实党的十九届四中全会关于“坚决打赢脱贫攻

餐饮单位疫情防控工作汇报

餐饮单位疫情防控工作汇报根据省、市、区疫情防控指挥部统一部署,严格落实《省市场监督管理局关于进一步加

党支部党建工作年度台账-基层党建工作台账

党支部党建工作年度台账::基层党建工作台账 党支部党建工作年度台账说明为抓好党建工作,根据《党章》《

党员的时代楷模心得体会12篇

党员的时代楷模心得体会12篇党员的时代楷模心得体会篇1@党员干部“打工攻略”请查收一年一度的“双十一

公文格式国家标准

公文格式国家标准 1范围 本标准规定了党政机关公文通用的纸张要求、排版和印制装订要求、公文格式各要素

内勤辅警先进事迹材料

内勤辅警先进事迹材料3篇 内勤辅警先进事迹材料1 办公室工作室一项既辛苦、又清苦的脑力劳动,他没有惊

傅雷家书阅读心得及感悟10篇

傅雷家书阅读心得及感悟10篇傅雷家书阅读心得及感悟篇1一连几天,我都沉浸在《傅雷家书》这本书中,感受