数字图像处理代码Ch3《频率域滤波》教案资料

合集下载

第4章频率域滤波【数字图像处理课程精品PPT】

第4章频率域滤波【数字图像处理课程精品PPT】
© 1992–2008 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 3rd ed.
Chapter 4
Filtering in the Frequency Domain
© 1992–2008 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 3rd ed.
Chapter 4
Filtering in the Frequency Domain
© 1992–2008 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 3rd ed.
© 1992–2008 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 3rd ed.
Chapter 4
Filtering in the Frequency Domain
© 1992–2008 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 3rd ed.
Chapter 4
Filtering in the Frequency Domain
相位_正弦分量关于原点位移的角度
© 1992–2008 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 3rd ed.
F(M/2,N/2)=:0
© 1992–2008 R. C. Gonzalez & R. E. Woods

数字图像处理技术-图像增强--空域、频域滤波

数字图像处理技术-图像增强--空域、频域滤波

实验五图像增强--空域、频域滤波课程名称:数字图像处理技术实验日期:2015-11-03 成绩:班级:姓名:学号:一、实验目的1.了解图像空域滤波、频域滤波的基本操作;2.掌握噪声模拟和图像滤波函数的使用方法3. 实现彩色图像的增强。

二、实验内容1. (基础题)制作自己的GUI用户界面,实现图像在空域中的均值滤波、中值滤波、锐化滤波;(提高题)定义自己的过滤器实现锐化滤波。

2. (基础题)在GUI中,实现图像的频域滤波:低通滤波、高通滤波。

3. (基础题)在GUI中,实现彩色图像增强:伪彩色增强、假彩色增强、真彩色增强。

三、实验代码function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)clear;figureA=imread('1.jpg');B=rgb2gray(A);h1=ones(7,7)/49;B2=imfilter(B,h1);h2=ones(9,9)/81;B3=imfilter(B,h2);subplot(2,2,1);imshow(B);title('灰度图像');subplot(2,2,3);imshow(B2);title('7*7均值滤波');subplot(2,2,4);imshow(B3);title('9*9均值滤波');% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)clear;figureA=imread('1.jpg');B=rgb2gray(A);B2=medfilt2(B,[5 5]);B3=medfilt2(B,[9 9]);subplot(2,2,1);imshow(B);title('灰度图像');subplot(2,2,3);imshow(B2);title('5*5中值滤波');subplot(2,2,4);imshow(B3);title('9*9中值滤波');% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear;figureA=imread('1.jpg');B=rgb2gray(A);h1=[1 2 1;0 0 0;-1 -2 -1];B2=imfilter(B,h1);h2=[1 0 -1;2 0 -2;1 0 -1];B3=imfilter(B,h2);subplot(2,2,1);imshow(B);title('灰度图像');subplot(2,2,3);imshow(B2);title('水平锐化');subplot(2,2,4);imshow(B3);title('竖直锐化');% --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear;figureA=imread('1.jpg');f=rgb2gray(A);subplot(2,2,1);imshow(f);f=im2double(f);F=fftshift(fft2(f));[M,N]=size(F);n = 30;D0 = 40;u0=floor(M/2);v0=floor(N/2);for u=1:Mfor v=1:ND=sqrt((u-u0)^2+(v-v0)^2);H=1/(1+(D/D0)^(2*n));G(u,v)=H*F(u,v);endendg=ifft2(ifftshift(G));g=im2uint8(real(g));subplot(2,2,4);imshow(g);% --- Executes on button press in pushbutton5.function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear;figureA=imread('1.jpg');f=rgb2gray(A);subplot(2,2,1);imshow(f);f=im2double(f);F=fftshift(fft2(f));[M,N]=size(F);n = 30;D0 = 40;u0=floor(M/2);v0=floor(N/2);for u=1:Mfor v=1:ND=sqrt((u-u0)^2+(v-v0)^2);H=1/(1+(D0/D)^(2*n));G(u,v)=H*F(u,v);endendg=ifft2(ifftshift(G));g=im2uint8(real(g));subplot(2,2,4);imshow(g);% --- Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear;figureA=imread('1.jpg');B=rgb2gray(A);subplot(1,2,1);imshow(B);title('灰度图像');Y=floor(B/64);[M,N]=size(Y);for i=1:Mfor j=1:Nswitch Y(i,j)case 0Y1(i,j,1:3)=[0 0 255];case 1Y1(i,j,1:3)=[200 0 200];case 2Y1(i,j,1:3)=[255 150 0];case 3Y1(i,j,1:3)=[255 255 0];otherwiseY1(i,j,1:3)=[255 255 255];endendendsubplot(1,2,2);imshow(Y1);% --- Executes on button press in pushbutton7.function pushbutton7_Callback(hObject, eventdata, handles)% hObject handle to pushbutton7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear;figureA=imread('1.jpg');f=rgb2gray(A);subplot(1,2,1);imshow(f);title('灰度图像');[M,N]=size(f);L=255;f=double(f);f1=floor(f/64);R=f1;G=f1;B=f1;for i=1:Mfor j=1:Nswitch f1(i,j)case 0R(i,j)=0;G(i,j)=4*f(i,j);B(i,j)=L;case 1R(i,j)=0;G(i,j)=L;B(i,j)=-4*f(i,j)+2*L;case 2R(i,j)=4*f(i,j)-2*L;G(i,j)=L;B(i,j)=0;case 3R(i,j)=L;G(i,j)=-4*f(i,j)+4*L;B(i,j)=0;endendendg(:,:,1)=R;g(:,:,2)=G;g(:,:,3)=B;g=uint8(g);subplot(1,2,2);imshow(g);% --- Executes on button press in pushbutton8.function pushbutton8_Callback(hObject, eventdata, handles)% hObject handle to pushbutton8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear;figureRGB=imread('1.jpg');RGB = im2double(RGB);R = RGB(:, :, 1);G = RGB(:, :, 2);B = RGB(:, :, 3);subplot(1,2,1),imshow(RGB)title('原始图像');c=R.*1.26d=G.*1.03e=B.*1.15enhance=cat(3, c, d, e);subplot(1,2,2),imshow(enhance)title('RGB手动增强的图像')四、实验结果截图五、实验体会经过很长时间学会应用这些东西。

数字图像处理代码Ch3《频率域滤波》教案资料

数字图像处理代码Ch3《频率域滤波》教案资料

数字图像处理代码C h3《频率域滤波》来自《数字图像处理MATLAB版》书中示例,代码复制与运行结果。

例3.1 有和没有填充的滤波效果。

clc,clear;close all;%有和没有填充的滤波效果f=imread('Fig0405(a)(square_original).tif');%========无填充的滤波========[M,N]=size(f);[f,revertclass]=tofloat(f);F=fft2(f); sig=10;H=lpfilter('gaussian',M,N,sig);G=H.*F; g=ifft2(G);g=revertclass(g);subplot 221;imshow(f);title('(a)尺寸为256×256像素的一幅图像'); subplot 222;imshow(g);title('(b)无填充时频率域中低通滤波后的图像'); %=======有填充的滤波==========PQ=paddedsize(size(f)); %f是浮点数Fp=fft2(f,PQ(1),PQ(2)); %计算填充的FFTHp=lpfilter('gaussian',PQ(1),PQ(2),2*sig);Gp=Hp.*Fp; gp=ifft2(Gp);gpc=gp(1:size(f,1),1:size(f,2));gpc=revertclass(gpc);subplot 223;imshow(gp);title('(c)图像滤波后用ifft2得到全填充图像'); h=fspecial('gaussian',15,7);gs=imfilter(f,h);subplot 224;imshow(gs);title('(d)有填充时频率域中低通滤波后的图像');运行结果:例3.2 空间滤波和频率域滤波的比较。

数字图像处理实验七图像频域滤波

数字图像处理实验七图像频域滤波

课程名称数字图像处理与分析实验序号实验七实验项目图像频域滤波实验地点实验学时实验类型指导教师实验员专业班级学号姓名年月日成绩:教师评语一、实验目的及要求1、掌握怎样利用傅立叶变换进行频域滤波2、掌握频域滤波的概念及方法3、熟练掌握频域空间的各类滤波器4、利用MATLAB 程序进行频域滤波二、实验原理与内容频域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通滤波器和高通滤波器。

频域低通过滤的基本思想:G(u,v)=F(u,v)H(u,v)F(u,v)是需要钝化图像的傅立叶变换形式,H(u,v)是选取的一个低通过滤器变换函数,G(u,v)是通过H(u,v)减少F(u,v)的高频部分来得到的结果,运用傅立叶逆变换得到钝化后的图像。

理想地通滤波器(ILPF)具有传递函数:其中,0D 为指定的非负数,),(v u D 为(u,v)到滤波器的中心的距离。

0),(D v u D =的点的轨迹为一个圆。

n 阶巴特沃兹低通滤波器(BLPF)(在距离原点0D 处出现截至频率)的传递函数为nD v u D v u H 20]),([11),(+=与理想地通滤波器不同的是,巴特沃兹率通滤波器的传递函数并不是在0D 处突然不连续。

高斯低通滤波器(GLPF)的传递函数为222),(),(σv u D e v u H =其中,σ为标准差。

相应的高通滤波器也包括:理想高通滤波器、n 阶巴特沃兹高通滤波器、高斯高通滤波器。

给⎩⎨⎧>≤=00),(0),(1),(D v u ifD D v u ifD v u H定一个低通滤波器的传递函数),(v u H lp ,通过使用如下的简单关系,可以获得相应高通滤波器的传递函数:),(1v u H H lp hp -=三、实验软硬件环境装有MATLAB 软件的电脑四、实验过程(实验步骤、记录、数据、分析)1、%不同半径巴特沃斯低通滤波器的平滑作用代码:f=imread('ee.jpg');subplot(321);imshow(f,[]);title('原图');f=rgb2gray(f);F=fftshift(fft2(f,size(f,1),size(f,2)));u=1:size(F,1);v=1:size(F,2);[V,U]=meshgrid(v,u);D=sqrt((U-(floor(size(F,1)./2)+1)).^2+(V-(floor(size(F,2)./2)+1)).^2);H=zeros(size(f));D0=5;n=2;H=1./(1+(D./D0).^(2.*n));G=F.*H;%频域低通滤波G1=ifft2(ifftshift(G));subplot(322);imshow(real(G1),[]);title('半径小于5的巴特沃思低通滤波器');D0=15;H=1./(1+(D./D0).^(2.*n));G=F.*H;G1=ifft2(ifftshift(G));subplot(323);imshow(real(G1),[]);title('半径小于15的巴特沃思低通滤波器');D0=30;H=1./(1+(D./D0).^(2.*n));G=F.*H;G1=ifft2(ifftshift(G));subplot(324);imshow(real(G1),[]);title('半径小于30的巴特沃思低通滤波器');D0=80;H=1./(1+(D./D0).^(2.*n));分析:由实验结果可知,当滤波器的半径不同时,对应的滤波效果也不同。

数字图像处理频域滤波器PPT课件

数字图像处理频域滤波器PPT课件
到G(u,v)。 • 运用傅立叶逆变换得到锐化后的图像。
第16页/共61页
4.5.2 高通滤波器
2 理想高通滤波器
• 理想高通滤波器的定义
(1) 一个二维的理想高通滤波器(ILPF)的转换函数满足(是一个分段函数)
H
(u,
v)
0 1
if if
D(u, v) D0 D(u, v) D0
其中:D0 为截止频率 D(u,v)为距离函数 D(u,v)=(u2+v2)1/2
45451气照明是建筑电气技术的基本内容是保证建筑物发挥基本功能的必要条件合理的照明对提高工作效率保证安全生产和保护视力都具有重要的意义451一个二维的理想低通滤波器ilpf的转换函数满足是一个分段函数为截止频率duv为距离函数duvu气照明是建筑电气技术的基本内容是保证建筑物发挥基本功能的必要条件合理的照明对提高工作效率保证安全生产和保护视力都具有重要的意义451huv作为距离函数duv的函数的截面图气照明是建筑电气技术的基本内容是保证建筑物发挥基本功能的必要条件合理的照明对提高工作效率保证安全生产和保护视力都具有重要的意义451理想低通滤波器的截止频率的设计先求出总的信号能量p气照明是建筑电气技术的基本内容是保证建筑物发挥基本功能的必要条件合理的照明对提高工作效率保证安全生产和保护视力都具有重要的意义451如果将变换作中心平移则一个以频域中心为原点r为半径的圆就包含了百分之的能量
振铃效应实例
第8页/共61页
4.5波器 1) Butterworth低通滤波器的定义
• 一个截止频率为D0(与原点距离)的n阶Butterworth低通滤波器 (BLPF)的变换函数如下:
H
(u,
v)
1
1
D(u, v)

频率域滤波 ppt课件

频率域滤波  ppt课件

傅立叶变换可看成“数学的棱镜”,将函数基于频率分成不同的成分.
使我们能够通过频率成分来分析一个函数。
ppt课件
8
4.2 傅立叶变换和频率域的介绍
用极坐标表示F(u)比较方便:
F (u) | F (u) | e j (u)
其中 | F (u) | R2 (u) I 2 (u)
(u)= arctan I (u)
f (x, y) F (u, v)e j2 (uxuy)dudv
ppt课件
6
4.2 傅立叶变换和频率域的介绍
离散形式的傅立叶变换:
F (u)
1
M 1
f (x)e j2ux/ M
M x0
u 0,1, 2,..., M 1
M 1
f (x) F (u)e j2ux/ M
ppt课件
28
4.2 傅立叶变换和频率域的介绍
f(m)
采用DFT 可以在频 率域进行 卷积运算, 但函数被 看成周期 函数,从而 会引起错 误。
h(m) h(-m) h(x-m)
f(x)*h(x)
ppt课件
傅立叶变换计算范围
29
4.2 傅立叶变换和频率域的介绍
避免周期混淆的办法: 假设f 和h分别由A个和B个点组成,那么对两个函数同时添加零,以使它们具有相同的周期 表示为P.这个过程产生扩展或延拓的函数,如下所示:
f (x, y)e j2 (u0x / M v0 y / N ) F (u u0 , v v0 ) f (x x0 , y y0 ) F (u, v)e j2 (u0x / M v0 y / N )
当u0 M / 2, v0 N / 2时,有: e j 2 (u0x / M v0 y / N ) e j (x y) (1)x y

频率域的滤波PPT课件

频率域的滤波PPT课件
• 高频提升滤波
fhb(x, y)= Af(x, y)- flp(x, y)
• 高频提升与高通的关系
fhb(x, y)=(A-1) f(x, y)+fhp(x, y)
第90页/共100页
• Hhp(u,v)=1- Hlp(u,v) • Hhb(u,v)=(A-1)+Hhp (u,v)
• 高频加强
Hhfe(u,v)=a+bHhp(u,v)
第47页/共100页
第48页/共100页
第49页/共100页
第50页/共100页
第51页/共100页
第52页/共100页
第53页/共100页
第54页/共100页
第55页/共100页
低通滤波是一个以牺牲图像清晰度为代价 来减少干扰效果的修饰过程
第56页/共100页
第57页/共100页
第67页/共100页
第68页/共100页
4.4频率域锐化滤波器
因为图像中的边缘及急剧变化部分与高频分量 有关,所以当利用高通滤波器衰减图像信号中的低 频分量时就会相对地强调其高频分量,从而加强了 图像中的边缘及急剧变化部分,达到图像尖锐化的 目的。
第69页/共100页
4.4频率域锐化滤波器
注意:进行处理的图像必须有较高的信噪比,否则图像锐化后, 图像信噪比会更低。
第17页/共100页
第18页/共100页
第19页/共100页
第20页/共100页
第21页/共100页
第22页/共100页
第23页/共100页
第24页/共100页
第25页/共100页
第26页/共100页
第27页/共100页
第28页/共100页
第29页/共100页

实验二 数字图像的空间域滤波和频域滤波

实验二 数字图像的空间域滤波和频域滤波

实验二数字图像的空间域滤波和频域滤波一.实验目的1.掌握图像滤波的基本定义及目的;2.理解空间域滤波的基本原理及方法;3.掌握进行图像的空域滤波的方法。

4.掌握傅立叶变换及逆变换的基本原理方法;5.理解频域滤波的基本原理及方法;6.掌握进行图像的频域滤波的方法。

二.实验内容1.平滑空间滤波:a)读出eight.tif这幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中;(提示:imnoise)b)对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示;(提示:fspecial、imfilter或filter2)c)使用函数imfilter时,分别采用不同的填充方法(或边界选项,如零填充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像d)运用for循环,将加有椒盐噪声的图像进行10次,20次均值滤波,查看其特点,显示均值处理后的图像;(提示:利用fspecial函数的’average’类型生成均值滤波器)e)对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。

(提示:medfilt2)f)自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像;2.锐化空间滤波a)读出blurry_moon.tif这幅图像,采用3×3的拉普拉斯算子w = [ 1,1, 1; 1 – 8 1; 1, 1, 1]对其进行滤波;b)编写函数w = genlaplacian(n),自动产生任一奇数尺寸n的拉普拉斯算子,如5×5的拉普拉斯算子w = [ 1 1 1 1 11 1 1 1 11 1 -24 1 11 1 1 1 11 1 1 1 1]c)分别采用5×5,9×9,15×15和25×25大小的拉普拉斯算子对blurry_moon.tif 进行锐化滤波,并利用式2(,)(,)(,)g x y f x y f x y =-∇完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示;d) 采用不同的梯度算子对blurry_moon.tif 进行锐化滤波,并比较其效果e) 自己设计锐化空间滤波器,并将其对噪声图像进行处理,显示处理后的图像;3. 傅立叶变换a) 读出woman.tif 这幅图像,对其进行快速傅立叶变换,分别显示其幅度图像和相位图像(提示:fft2, abs, angle )b) 仅对相位部分进行傅立叶反变换后查看结果图像(提示:记傅立叶变换的相位a ,利用ifft2对exp(a*i)进行反变换)c) 仅对幅度部分进行傅立叶反变换后查看结果图像d) 将图像的傅立叶变换F 置为其共轭后进行反变换,比较新生成图像与原始图像的差异(提示:复数()()|()|j u F u F u e φ=的共轭为()()|()|j u F u F u e φ-=)4. 平滑频域滤波a) 设计理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器,截至频率自选,分别给出各种滤波器的透视图;b) 读出test_pattern.tif 这幅图像,分别采用理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器对其进行滤波(截至频率自选),再做反变换,观察不同的截止频率下采用不同低通滤波器得到的图像与原图像的区别,特别注意振铃效应。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理代码C h3《频率域滤波》来自《数字图像处理MATLAB版》书中示例,代码复制与运行结果。

例3.1 有和没有填充的滤波效果。

clc,clear;close all;%有和没有填充的滤波效果f=imread('Fig0405(a)(square_original).tif');%========无填充的滤波========[M,N]=size(f);[f,revertclass]=tofloat(f);F=fft2(f); sig=10;H=lpfilter('gaussian',M,N,sig);G=H.*F; g=ifft2(G);g=revertclass(g);subplot 221;imshow(f);title('(a)尺寸为256×256像素的一幅图像'); subplot 222;imshow(g);title('(b)无填充时频率域中低通滤波后的图像'); %=======有填充的滤波==========PQ=paddedsize(size(f)); %f是浮点数Fp=fft2(f,PQ(1),PQ(2)); %计算填充的FFTHp=lpfilter('gaussian',PQ(1),PQ(2),2*sig);Gp=Hp.*Fp; gp=ifft2(Gp);gpc=gp(1:size(f,1),1:size(f,2));gpc=revertclass(gpc);subplot 223;imshow(gp);title('(c)图像滤波后用ifft2得到全填充图像'); h=fspecial('gaussian',15,7);gs=imfilter(f,h);subplot 224;imshow(gs);title('(d)有填充时频率域中低通滤波后的图像');运行结果:例3.2 空间滤波和频率域滤波的比较。

clc,clear;close all;%空间滤波和频率域滤波比较f=imread('Fig0409(a)(bld).tif');f=tofloat(f); F=fft2(f);S=fftshift(log(1+abs(F)));subplot 121; imshow(f);title('(a)一幅灰度图像');subplot 122;imshow(S,[]);title('(b)该图像的傅里叶谱');h=fspecial('sobel');%生成sobel滤波器figure; subplot 221;freqz2(h);title('(a)相应于垂直sobel空间滤波器的频率域滤波器的绝对值');PQ=paddedsize(size(f));H=freqz2(h,PQ(1),PQ(2));H1=ifftshift(H);subplot 222;mesh(abs(H1)');title('(b)经函数ifftshift处理后的同一滤波器'); subplot 223;imshow(abs(H),[ ]);title('以图像方式展示两个滤波器');subplot 224;imshow(abs(H1),[ ]);title('以图像方式展示两个滤波器');gs=imfilter(f,h);%使用0填充图像边界gf=dftfilt(f,H1); figure;subplot 221;imshow(gs,[ ]);title('(a)用垂直Sobel模板在空间域对原图像滤波结果'); subplot 222;imshow(gf,[ ]);title('(b)用滤波器b在频率域中得到的结果');subplot 223;imshow(abs(gs),[ ]);title('(c)a的绝对值');subplot 224;imshow(abs(gf),[ ]);title('(d)b的绝对值');figure;%阈值处理,使主要边缘显示更为清晰subplot 121;imshow(abs(gs)>0.2*abs(max(gs(:))));title('(a)a图经阈值处理的二值图像');subplot 122;imshow(abs(gf)>0.2*abs(max(gf(:)))); title('(b)b图经阈值处理的二值图像');运行结果:d=abs(gs-gf);max(d(:)) min(d(:))例3.3 函数dftuv的使用。

clc,clear,close all;%函数dftuv的使用[U,V]=dftuv(8,5);DSQ=U.^2+V.^2fftshift(DSQ)D=hypot(U,V)timeit(@() U.^2+V.^2)timeit(@() hypot(U,V))运行结果:例3.4 低通滤波器。

clc,clear,close all;f=imread('Fig0413(a)(original_test_pattern).tif');[f,revertclass]=tofloat(f);PQ=paddedsize(size(f));[U,V]=dftuv(PQ(1),PQ(2));D=hypot(U,V);D0=0.05*PQ(2);F=fft2(f,PQ(1),PQ(2));%用于绘制频谱H=exp(-(D.^2)/(2*(D0^2)));g=dftfilt(f,H);g=revertclass(g);subplot 221;imshow(f);title('(a)原始图像');subplot 222;imshow(fftshift(H));title('(b)以图像形式显示的高斯低通滤波器');subplot 223;imshow(log(1+abs(fftshift(F))),[ ]);title('(c)图(a)的谱');subplot 224;imshow(g);title('(d)滤波后的图像');运行结果:例3.5 绘制线框图。

clc,clear,close all;H=fftshift(lpfilter('gaussian',500,500,50));%高斯低通滤波器subplot 221;mesh(double(H(1:10:500,1:10:500))); %生成线框图axis tight;%将轴的上下限设置为数据范围title('(a)使用函数mesh得到的图形');subplot 222;mesh(double(H(1:10:500,1:10:500)));colormap([0 0 0]);axis off;title('(b)去掉坐标轴和网格后的图形');subplot 223;mesh(double(H(1:10:500,1:10:500)));axis off;view(-25,30); %方位角-25,仰角30title('(c)使用函数view得到的不同透视图');subplot 224;mesh(double(H(1:10:500,1:10:500)));axis off;view(-25,0);title('(d)使用统一函数得到的另一透视图');%=============================figure; subplot 121;surf(double(H(1:10:500,1:10:500)));axis tight;title('(a)使用函数surf得到的图形');colormap(gray);axis off;subplot 122;surf(double(H(1:10:500,1:10:500)));axis tight; colormap(gray);axis off; shading interp;title('(b)使用shading interp命令得到的结果');运行结果:例3.6 高通滤波器。

clc,clear;close all;H=fftshift(hpfilter('ideal',500,500,50));subplot 231;mesh(double(H(1:10:500,1:10:500)));title('(a)理想高通滤波器透视图');axis tight; axis off;%colormap([0 0 0]);subplot 234;imshow(H,[ ]);title('(d)相应图像');H1=fftshift(hpfilter('btw',500,500,50));subplot 232;mesh(double(H1(1:10:500,1:10:500)));title('(b)巴特沃斯高通滤波器透视图');axis tight; axis off;%colormap([0 0 0]);subplot 235;imshow(H1,[ ]);title('(e)相应图像');H2=fftshift(hpfilter('gaussian',500,500,50));subplot 233;mesh(double(H2(1:10:500,1:10:500)));title('(c)高斯高通滤波器透视图');axis tight;axis off;%colormap([0 0 0]);subplot 236;imshow(H2,[ ]);title('(f)相应图像');运行结果:例3.7 高通滤波。

clc,clear,close all;f=imread('Fig0413(a)(original_test_pattern).tif');PQ=paddedsize(size(f)); D0=0.05*PQ(1);H=hpfilter('gaussian',PQ(1),PQ(2),D0); g=dftfilt(f,H);subplot 121; imshow(f);title('(a)原始图像');subplot 122;imshow(g);title('(b)高斯高通滤波后的结果');figure;imshow(f+g); title('(c)原图像高斯增强后的结果');运行结果:例3.8 联合使用高频强调滤波和直方图均衡。

相关文档
最新文档