基于matlab数字图像处理之低通滤波器.doc

上传人:b****1 文档编号:236058 上传时间:2022-10-07 格式:DOC 页数:6 大小:232KB
下载 相关 举报
基于matlab数字图像处理之低通滤波器.doc_第1页
第1页 / 共6页
基于matlab数字图像处理之低通滤波器.doc_第2页
第2页 / 共6页
基于matlab数字图像处理之低通滤波器.doc_第3页
第3页 / 共6页
基于matlab数字图像处理之低通滤波器.doc_第4页
第4页 / 共6页
基于matlab数字图像处理之低通滤波器.doc_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

基于matlab数字图像处理之低通滤波器.doc

《基于matlab数字图像处理之低通滤波器.doc》由会员分享,可在线阅读,更多相关《基于matlab数字图像处理之低通滤波器.doc(6页珍藏版)》请在冰豆网上搜索。

基于matlab数字图像处理之低通滤波器.doc

实践一:

理想低通滤波器、Butterworth低通滤波器、高斯低通滤波器

1.1.1理想低通滤波器实践代码:

I=imread('couple.bmp');

%I=rgb2gray(I);

subplot(221),imshow(I);

title('原图像');

s=fftshift(fft2(I));

subplot(223),

imshow(abs(s),[]);

title('图像傅里叶变换所得频谱');

subplot(224),

imshow(log(abs(s)),[]);

title('图像傅里叶变换取对数所得频谱');

[a,b]=size(s);

a0=round(a/2);

b0=round(b/2);

d=10;

fori=1:

a

forj=1:

b

distance=sqrt((i-a0)^2+(j-b0)^2);

ifdistance<=dh=1;

elseh=0;

end;

s(i,j)=h*s(i,j);

end;

end;

s=uint8(real(ifft2(ifftshift(s))));

subplot(222),

imshow(s);

title('低通滤波所得图像');

I=imread('couple.bmp');

Hd=ones(size(I));

Hd(r>0.2)=0;

figure

surf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong');%画三维曲面(色)图

1.1.2理想低通滤波器实践结果截图:

1.2.1Butterworth低通滤波器实践代码:

clearall;

I1=imread('girl.bmp');

subplot(221),imshow(I1);

xlabel('(a)原始图像');

f=double(I1);%数据类型转换

g=fft2(f);%图像傅里叶转换

g=fftshift(g);%傅里叶变换平移

F2=log(abs(g));%对傅里叶变换结果取绝对值,然后取对数

subplot(222),imshow(F2,[],'InitialMagnification','fit');%将计算后的矩阵用图像表示

colormap(jet);%设置色彩索引图

colorbar%显示色彩索引条

xlabel('(b)原始图像的傅里叶变换图像');

[N1,N2]=size(g);%傅里叶变换图像尺寸

n=2;%参数赋初始值

d0=5;

n1=fix(N1/2);%数据圆整

n2=fix(N2/2);%数据圆整

fori=1:

N1%遍历图像像素

forj=1:

N2

d=sqrt((i-n1)^2+(j-n2)^2);

ifd==0

h=0;

else

h=1/(1+(d/d0)^(2*n));

end

result(i,j)=h*g(i,j);%图像矩阵计算处理

end

end

F3=log(abs(result));%对傅里叶变换结果取绝对值,然后取对数

subplot(223),imshow(F3,'InitialMagnification','fit');

colormap(jet);%设置色彩索引图

colorbar%显示色彩索引条

xlabel('(c)滤波后的傅里叶变换图像')

result=ifftshift(result);

X2=ifft2(result);

X3=uint8(real(X2));

subplot(224),imshow(X3)

xlabel('(d)Butterworth低通滤波图像');

I1=imread('couple.bmp');

[f1,f2]=freqspace(size(I1),'meshgrid');

D=0.3;

r=f1.^2+f2.^2;

n=4;

fori=1:

size(I1,1)

forj=1:

size(I1,2)

t=r(i,j)/(D*D);

Hd(i,j)=1/(t^n+1);

end

end

surf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong');%画三维曲面(色)图

1.2.2Butterworth低通滤波器实践结果截图:

1.3.1高斯低通滤波器实践代码:

IA=imread('girl.bmp');

[f1,f2]=freqspace(size(IA),'meshgrid');

D=100/size(IA,1);

r=f1.^2+f2.^2;

Hd=ones(size(IA));

fori=1:

size(IA,1)

forj=1:

size(IA,2)

t=r(i,j)/(D*D);

Hd(i,j)=exp(-t);

end

end

Y=fft2(double(IA));

Y=fftshift(Y);

Ya=Y.*Hd;

Ya=ifftshift(Ya);

Ia=real(ifft2(Ya));

figure

subplot(2,2,1),imshow(uint8(IA));

title('原图像');

subplot(2,2,2),imshow(uint8(Ia));

title('高斯低通滤波处理');

figure

surf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong');%画三维曲面(色)图

1.3.2高斯低通滤波器实践结果截图:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1