数字图像处理代码Ch3《频率域滤波》.doc

数字图像处理代码Ch3《频率域滤波》.doc

ID:57212325

大小:1.23 MB

页数:13页

时间:2020-08-06

数字图像处理代码Ch3《频率域滤波》.doc_第1页
数字图像处理代码Ch3《频率域滤波》.doc_第2页
数字图像处理代码Ch3《频率域滤波》.doc_第3页
数字图像处理代码Ch3《频率域滤波》.doc_第4页
数字图像处理代码Ch3《频率域滤波》.doc_第5页
资源描述:

《数字图像处理代码Ch3《频率域滤波》.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、来自《数字图像处理MATLAB版》书中示例,代码复制与运行结果。例3.1有和没有填充的滤波效果。clc,clear;closeall;%有和没有填充的滤波效果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);subplot221;im

2、show(f);title('(a)尺寸为256×256像素的一幅图像');subplot222;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=revertcla

3、ss(gpc);subplot223;imshow(gp);title('(c)图像滤波后用ifft2得到全填充图像');h=fspecial('gaussian',15,7);gs=imfilter(f,h);subplot224;imshow(gs);title('(d)有填充时频率域中低通滤波后的图像');运行结果:例3.2空间滤波和频率域滤波的比较。clc,clear;closeall;%空间滤波和频率域滤波比较f=imread('Fig0409(a)(bld).tif');f=tofloat(f);F=fft2(f);S=fftshift(log(1

4、+abs(F)));subplot121;imshow(f);title('(a)一幅灰度图像');subplot122;imshow(S,[]);title('(b)该图像的傅里叶谱');h=fspecial('sobel');%生成sobel滤波器figure;subplot221;freqz2(h);title('(a)相应于垂直sobel空间滤波器的频率域滤波器的绝对值');PQ=paddedsize(size(f));H=freqz2(h,PQ(1),PQ(2));H1=ifftshift(H);subplot222;mesh(abs(H1)');t

5、itle('(b)经函数ifftshift处理后的同一滤波器');subplot223;imshow(abs(H),[]);title('以图像方式展示两个滤波器');subplot224;imshow(abs(H1),[]);title('以图像方式展示两个滤波器');gs=imfilter(f,h);%使用0填充图像边界gf=dftfilt(f,H1);figure;subplot221;imshow(gs,[]);title('(a)用垂直Sobel模板在空间域对原图像滤波结果');subplot222;imshow(gf,[]);title('(b)用

6、滤波器b在频率域中得到的结果');subplot223;imshow(abs(gs),[]);title('(c)a的绝对值');subplot224;imshow(abs(gf),[]);title('(d)b的绝对值');figure;%阈值处理,使主要边缘显示更为清晰subplot121;imshow(abs(gs)>0.2*abs(max(gs(:))));title('(a)a图经阈值处理的二值图像');subplot122;imshow(abs(gf)>0.2*abs(max(gf(:))));title('(b)b图经阈值处理的二值图像');运行

7、结果:d=abs(gs-gf);max(d(:))min(d(:))例3.3函数dftuv的使用。clc,clear,closeall;%函数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,closeall;f=imread('Fig0413(a)(original_test_pattern).tif');[f,revertclass]=tofloat(

8、f);PQ=paddedsize(si

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。