《数字图像处理实验报告.doc》由会员分享,可在线阅读,更多相关《数字图像处理实验报告.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、|数字图像处理试验报告实验二:数字图像的空间滤波和频域滤波姓名:XX 学号:2XXXXXXX 实验日期:2017 年 4 月 26 日1.实验目的1. 掌握图像滤波的基本定义及目的。 2. 理解空间域滤波的基本原理及方法。 3. 掌握进行图像的空域滤波的方法。 4. 掌握傅立叶变换及逆变换的基本原理方法。 5. 理解频域滤波的基本原理及方法。 6. 掌握进行图像的频域滤波的方法。 2.实验内容与要求1. 平滑空间滤波: 1) 读出一 幅图 像 , 给 这幅 图像 分别加 入椒 盐噪 声和 高斯 噪声后 并与 前一 张图 显示 在同 一图像窗口中。 2) 对加入 噪声 图像 选用 不同 的平滑
2、( 低通 ) 模 板做 运算 , 对比不 同模 板所 形成 的效 果, 要求在同一窗口中显示。 3) 使 用 函 数 imfilter 时 , 分 别 采 用 不 同 的 填 充 方 法 ( 或 边 界 选 项 , 如 零 填 充 、 replicate、 symmetric、 circular) 进 行 低 通 滤 波 , 显 示 处 理 后 的图像。 4) 运用 for 循环,将加有椒盐噪声的图像进行 10 次,20 次均值滤波,查看其特点, 显示均值处理后的图像(提示:利用 fspecial 函数的average类型生成均值滤 波器) 。 5) 对加入 椒盐 噪声 的图 像分 别采用 均
3、值 滤波 法 , 和 中值 滤波法 对有 噪声 的图 像做 处理 , 要求在同一窗口中显示结果。 6) 自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。 2. 锐化空间滤波 1) 读出一幅图像,采用 33 的拉普拉斯算子 w = 1 , 1, 1; 1 8 1; 1, 1, 1对其进行滤波。 2) 编写函数 w = genlaplacian(n),自动产生任一奇数尺寸 n 的拉普拉斯算子,如 55 的拉普拉斯算子 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) 分别采用 55,99,1515 和 2525
4、 大小的拉普拉斯算子对 blurry_moon.tif|进 行 锐 化 滤 波 , 并 利 用 式 g(x, y) f (x, y) 2 f (x, y) 完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示。 4) 采用不同的梯度算子对该幅图像进行锐化滤波,并比较其效果。 5) 自己设计锐化空间滤波器,并将其对噪声图像进行处理,显示处理后的图像; 3. 傅立叶变换 1) 读 出 一 幅 图 像 , 对 其 进 行 快 速 傅 立 叶 变 换 , 分 别 显 示 其 幅 度 图 像 和 相 位 图 像 。 仅 对 相位部分进行傅立叶反变换后查看结果图像。 2) 仅对幅度部分进行傅立叶反变换
5、后查看结果图像。 3) 将图像的傅立叶变换 F 置 为 其 共 轭 后 进 行 反 变 换 , 比 较 新 生 成 图 像 与 原 始 图 像 的 差 异。 4. 平滑频域滤波 1) 设 计 理 想 低 通 滤 波 器 、 巴 特 沃 斯 低 通 滤 波 器 和 高 斯 低 通 滤 波 器 , 截 至 频 率 自 选 , 分 别给出各种滤波器的透视图。 2) 读 出 一 幅 图 像 , 分 别 采 用 理 想 低 通 滤 波 器 、 巴 特 沃 斯 低 通 滤 波 器 和 高 斯 低 通 滤 波 器 对其进 行滤 波 (截 至频 率 自选) , 再做 反变换 , 观察 不同的 截止 频率 下采
6、 用不 同低通 滤 波 器 得 到 的 图 像 与 原 图 像 的 区 别 , 特 别 注 意 振 铃 效 应 。 (提 示 :1)在 频 率 域 滤 波 同 样要注意到填充问题;2)注意到(-1) x+y;) 5. 锐化频域滤波 1) 设 计 理 想 高 通 滤 波 器 、 巴 特 沃 斯 高 通 滤 波 器 和 高 斯 高 通 滤 波 器 , 截 至 频 率 自 选 , 分 别给出各种滤波器的透视图。 2) 读 出 一 幅 图 像 , 分 别 采 用 理 想 高 通 滤 波 器 、 巴 特 沃 斯 高 通 滤 波 器 和 高 斯 高 通 滤 波 器 对其进 行滤 波 (截 至频 率 自选)
7、 , 再做 反变换 , 观察 不同的 截止 频率 下采 用不 同高通 滤波器得到的图像与原图像的区别。 3.实验具体实现1. 平滑空间滤波: ( 1) .读 出 一 幅 图 像 , 给 这 幅 图 像 分 别 加 入 椒 盐 噪 声 和 高 斯 噪 声 后 并 与 前 一 张 图 显 示 在 同一图像窗口中。 img=imread(lena.png) figure,subplot(1,3,1); imshow(img);title(原始图像); img2=imnoise(img,salt subplot(1,3,2); imshow(img2); title(椒盐噪声图像);img3=imno
8、ise(img,gaussian,0.02); subplot(1,3,3),imshow(img3); title(高斯噪声图像);|实验结果如下: (2).对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果, 要求在同一窗口中显示。 平滑滤波是低频增强的空间域滤波技术。它的目的有两个,一是模糊,二是消除噪声。将空 间域低通滤波按线性和非线性特点有:线性、非线性平滑滤波器,线性平滑滤波器包括均值 滤波器,非线性的平滑滤波器有最大值滤波器,中值滤波器,最小值滤波器。 代码如下: img=imread(lena.png) img=rgb2gray(img); figure,
9、subplot(1,3,1); imshow(img);title(原始图像); img2=imnoise(img,salt subplot(1,3,2);imshow(img2);title(椒盐噪声图像); img3=imnoise(img,gaussian,0.02); subplot(1,3,3),imshow(img3); title(高斯噪声图像); %对椒盐噪声图像进行滤波处理 h=fspecial(average,3); I1=filter2(h,img2)/255; I2=medfilt2(img2,3 3); figure,subplot(2,2,1),imshow(img
10、),title(原图像); subplot(2,2,2),imshow(img2),title(椒盐噪声图); subplot(2,2,3),imshow(I1),title(3*3 均值滤波图); subplot(2,2,4),imshow(I2),title(3*3 中值滤波图); %对高斯噪声图像进行滤波处理 G1=filter2(h,img3)/255; G2=medfilt2(img3,3 3); figure,subplot(2,2,1),imshow(img),title(原图像); subplot(2,2,2),imshow(img3),title(高斯噪声图); subplo
11、t(2,2,3),imshow(G1),title(3*3 均值滤波图); subplot(2,2,4),imshow(G2),title(3*3 中值滤波图); |实验结果如下: |(3). 使 用 函 数 imfilter 时 , 分 别 采 用 不 同 的 填 充 方 法 ( 或 边 界 选 项 , 如 零 填 充、 replicate、 symmetric、 circular)进行低通 滤波, 显示处 理后的图像 。 g = imfilter(f, w, filtering_mode, boundary_options, size_options),其中,f 为输入图像,w 为滤波掩模
12、,g 为滤波后图像。 实验结果如下: (4).运用 for 循环,将加有椒盐噪声的图像进行 10 次,20 次均值滤波,查看其特点,显 示均值 处理 后的 图像 (提 示:利 用 fspecial 函 数的 average类 型生 成均 值 滤波器 ) 。 代码如下: h=fspecial(average); h=fspecial(motion,50,45); %创建一个运动模糊滤波器 filteredimg=imfilter(img,h); boundaryReplicate=imfilter(img,h,replicate); boundary0=imfilter(img,h,0); bo
13、undarysymmetric=imfilter(img,h,symmetric); boundarycircular=imfilter(img,h,circular); figure,subplot(3,2,1),imshow(img),title(Original Image); subplot(3,2,2),imshow(filteredimg),title(Motion Blurred Image); subplot(3,2,3),imshow(boundaryReplicate),title(Replicate); subplot(3,2,4),imshow(boundary0),t
14、itle(0-Padding); subplot(3,2,5),imshow(boundarysymmetric),title(symmetric); subplot(3,2,6),imshow(boundarycircular),title(circular); |for i=1:10 J1=imfilter(img2,h); end for j=1:20 J2=imfilter(img2,h); end figure,subplot(1,3,1),imshow(img2),title(salt subplot(1,3,2),imshow(J1),title(10 Average Filte
15、ring); subplot(1,3,3),imshow(J2),title(20 Average Filtering); 实验结果: (5).对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做 处理,要求在同一窗口中显示结果。 代码如下: h1=fspecial(average); J=imfilter(img2,h1); J2=medfilt2(img2); figure,subplot(1,3,1),imshow(img2),title(salt subplot(1,3,2),imshow(J),title(Averaging Filtering); subplot(1
16、,3,3),imshow(J2),title(Median Filtering); 实验结果为: (6).自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。 代码如下: m n=size(img2); figure,subplot(1,2,1),imshow(img2); s=zeros(1,9); |for i=2:1:m-1 for j=2:1:n-1 h=1; for p=i-1:1:i+1 for q=j-1:1:j+1 s(h)=img2(p,q); h=h+1; end end s=sort(s); I(i,j)=s(5); end end subplot(1,2
17、,2),imshow(I); 实验结果: 2.锐化空间滤波 (1)读出一幅图像,采用 33 的拉普拉斯算子 w = 1, 1, 1; 1 8 1; 1, 1, 1对 其 进行滤波。 代码如下: img=imread(lena.png); img=rgb2gray(img); img=im2double(img); w=1,1,1; 1,-8,1; 1,1,1 k=conv2(img,w,same); imshow(k); 实验结果为: |(2)编写函数 w = genlaplacian(n),自动产生任一奇数尺寸 n 的拉普拉斯算子,如 55 的拉普拉斯算子 w = 1 1 1 1 1 1 1
18、 1 1 1 1 1 -24 1 1 1 1 1 1 1 1 1 1 1 1 代码如下: num=input(please enter any num:); n=num; W=ones(n,n); for i=1:n for j=1:n if(i=fix(n/2)+1 end end end display (W); 代码运行结果为: (3)分别采用 55,99,1515 和 2525 大小的拉普拉斯算子对 blurry_moon.tif 进行锐化滤波,并利用式 完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示。 代码如下: 基于上一题要求形成一函数: |function W=lapu
19、lasi(num) n=num,W=ones(n),x=fix(n/2)+1; W(x,x)=-(n*n-1); 其他代码: f=imread(moon.tif); f=im2double(f); figure,subplot(2,3,1),imshow(f),title(Original Image); w0=lapulasi(3),w1=lapulasi(5),w2=lapulasi(9); w3=lapulasi(15),w4=lapulasi(25); f0=f-imfilter(f,w0,replicate); subplot(2,3,2),imshow(f0),title(3*3
20、lapulasi); f1=f-imfilter(f,w1,replicate); subplot(2,3,3),imshow(f1),title(5*5 lapulasi); f2=f-imfilter(f,w2,replicate); subplot(2,3,4),imshow(f2),title(9*9 lapulasi); f3=f-imfilter(f,w3,replicate); subplot(2,3,5),imshow(f3),title(15*15 lapulasi); f4=f-imfilter(f,w4,replicate); subplot(2,3,6),imshow(
21、f4),title(25*25 lapulasi); 实验结果为: |(4)采用不同的梯度算子对该幅图像进行锐化滤波,并比较其效果。 实验效果如下: 代码如下: I,map=imread(moon.tif); I=double(I); figure,subplot(2,3,1),imshow(I,map),title(Original Image); Gx,Gy=gradient(I); G=sqrt(Gx.*Gx+Gy.*Gy),J1=G; subplot(2,3,2),imshow(J1,map),title(Operator1 Image); J2=I;K=find(G=7); J2(K)=G(K); subplot(2,3,3),imshow(J2,map); title(Operator2 Image); J3=I; K=find(G=7); J3(K)=255; subplot(2,3,4),imshow(J3,map),title(Operator3 Image); J4=I; K=find(G=7); J5(Q)=255; subplot(2,3,6),imshow(J5,map),title(Operator5 Image);