生物电子与影像技术课程报告.docx
《生物电子与影像技术课程报告.docx》由会员分享,可在线阅读,更多相关《生物电子与影像技术课程报告.docx(9页珍藏版)》请在冰豆网上搜索。
生物电子与影像技术课程报告
《生物电子与影像技术》
课程报告
姓名:
学号:
班级:
2013年9月
一、问题和目的
熟悉空域、频域图像处理的原理和意义,掌握常用的频域图像增强方法;理解频域图像增强与对应空域图像技术之间的联系。
二、总体方案设计
1、读入bld.tif,对原图像分别用sobel及gaussian算子在空域和频域进行滤波。
空域滤波原理:
空域滤波是在图像空间中借助模板对图像进行领域操作,
处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。
空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。
空域滤波一般分为线性滤波和非线性滤波两类。
线性滤波器的设计常基于对傅立叶变换的分析,非线性空域滤波器则一般直接对领域进行操作。
各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。
平滑可用低通来实现,平滑的目的可分为两类:
一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。
锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。
MATLAB 提供了fspecial 函数生成滤波时所用的模板,并提供filter2 函数用指定的滤波器模板对图像进行运算。
函数fspecial 的语法格式为:
h=fspecial(type)
h=fspecial(type,parameters)
type—average、disk、gaussian、laplacian、log、sobel等
parameters—hsize、radicus、alpha、len、theta等
频域滤波原理:
频域增强是利用图像变换方法将原来的图像空间中的图像以某种形式转换到其他空间中,然后利用该空间的特有性质方便地进行图像处理,最后再转换回原来的图像空间中,从而得到处理后的图像。
频域滤波的主要步骤是:
(1)选择变换方法,将输入图像变换到频域空间。
(2)在频域空间中,根据处理目的设计一个转移函数,并进行处理。
(3)将所得结果用反变换得到增强的图像。
常用的频域增强方法有低通滤波和高通滤波。
三、具体实验与分析
1)、对图像bld.tif进行空域滤波
图像锐化(sobel法)
2D线性空间滤波模板生成
w=fspecial('type',parameter);
'type':
'average’/'gaussian'/'log'/'laplacian’/'prewitt'/'sobel'/'disk'/'motion'
线性空间滤波
G=imfilter(A,w,mode,b_opt,s_opt);
A,G:
输入、输出图像
w:
滤波模板
mode:
'corr'相关(默认)'conv'卷积
b_opt:
边界选项
s_opt:
'same'输入输出图像大小相同
'full'输出图像为扩展后的大小
2)对图像bld.tif进行频域滤波
1、频域滤波是图像经傅里叶变换以后,边缘和其他尖锐变化(如噪音)在图像的灰度级中主要处于傅里叶变换的高频部分。
因此,平滑可以通过衰减指定图像傅里叶变换中高频成分的范围来实现。
频域低通滤波的数学表达式为:
G(u,v)= H(u,v)F(u,v)
其中F(u,v)是原始图像f(x,y)的傅里叶变换;G(u,v)是低通滤波处理后的图像g(x,y)的傅里叶变换;H(u,v)是频域低通滤波器的传递函数,选择不同的H(u,v) 可产生不同的平滑效果。
2、补零:
图像及其变换在DFT中都认为是周期的,在卷积中周期长度对结果有影响
f(x,y)—AxB,h(x,y)—CxD
f,g添加0元,形成两个扩展函数,大小为:
PxQ
为了避免计算问题,应满足:
P>=A+C–1Q>=B+D–1
3、其余的参考空域滤波
3)实验结果及图像
四、结论
空域滤波主要包括平滑滤波和锐化滤波。
平滑滤波是要滤除不规则的噪声或干扰的影响,从频域角度看,不规则噪声具有较高的频率,所以可用具有低通能力的频域滤波器来滤除。
由此可见,空域的平滑滤波对应频域的低通滤波。
锐化滤波是要增强边缘和轮廓处的强度,从频域角度看,边缘和轮廓处都具有较高的频率,所以可用具有高通能力的频域滤波器来增强,由此可见空域的锐化滤波对应频域的高通滤波。
五、总结与体会
首先,通过课程的学习,对图像空域和频域滤波的相关知识有所了解,我更加深入的掌握了其定义,原理,设计方法等,也让我更深入地了解了数字图像处理这门课程,巩固了基础知识。
其次,通过学习用MATLAB设计中的一些基础知识,让我进一步掌握了一些MATLAB编程用法,丰富了我的知识储备。
同时,这次课程报告也培养了我和同学们的团队协作能力以及独立思考能力,对我今后的学习和生活都有很大帮助。
在这次课程报告中,我主要负责图像处理部分。
参考文献
[1]张晋格主编.控制系统CAD——基于MATLAB语言.北京:
机械工业出版社,2004
[2]赖志国等编著.Matlab图像处理与应用.北京:
国防工业出版社,2007
[3]王家文,李仰军编著.MATLAB7.0图形图像处理.北京:
国防工业出版社,2006附录
试验程序如下:
5.空域和频域滤波转换
%显示原图像及其Fourier谱
closeall
clearall
f=imread('bld.tif');
F=fft2(double(f));
S=fftshift(log(1+abs(F)));
figure
(1)
subplot(221);imshow(f);title('Originalimage');
subplot(222);imshow(S,[]);title('Fourierspectrum');
%生成空域和频域滤波器
h=fspecial('sobel')';
PQ=paddedsize(size(f));%%自编函数,计算填0后的图像大小
H=freqz2(h,PQ
(1),PQ
(2));%%生成Sobel算子的频率滤波器
H1=ifftshift(H);%%频率滤波器原点移位到左上角
figure
(2);
subplot(121);
mesh(abs(H(1:
20:
end,1:
20:
end)));%%绘制频率滤波器
axisoff;
title('perspectiveplotof’frequencyfilter');
subplot(122);
mesh(abs(H1(1:
20:
end,1:
20:
end)));
axisoff;
title('frequencyfilterwithshift');
%分别在空域和频域滤波
gs=imfilter(double(f),h);%%空域滤波
F=fft2(double(f),size(H1,1),size(H1,2));%%频域滤波
gf=real(ifft2(H1.*F));
gf=gf(1:
size(f,1),1:
size(f,2));
figure
(1);
subplot(223);imshow(gs,[]);
title('Filteredimageinspatialdomain');
subplot(224);imshow(gf,[]);
title('Filteredimageinfrequencydomain');
Gaussian低通频域滤波
closeall
clearall
f=imread('bld.tif');
PQ=paddedsize(size(f));
[U,V]=dftuv(PQ
(1),PQ
(2));
D0=0.05*PQ
(2);
F=fft2(double(f),PQ
(1),PQ
(2));
H=exp(-(U.^2+V.^2)/(2*(D0^2)));%%滤波器计算
g=real(ifft2(H.*F));%%频域滤波
g=g(1:
size(f,1),1:
size(f,2));
figure%%结果显示
subplot(221);imshow(f,[]);
title('Originalimage');
subplot(222);imshow(log(1+abs(fftshift(F))),[]);
title('Fourierspectrumoforiginalimage');
subplot(223);imshow(g,[]);
title('FilteredimagebyGaussianlowpassfilter');
F2=fft2(double(g),PQ
(1),PQ
(2));
subplot(224);imshow(log(1+abs(fftshift(F2))),[]);
title('Fourierspectrumoflowpassfilteredimage');
Gaussian高通频域滤波
H2=1-H;%%高通滤波器计算
g2=real(ifft2(H2.*F));%%频域滤波
g2=g2(1:
size(f,1),1:
size(f,2));
figure%%结果显示
subplot(221);imshow(f,[]);
title('Originalimage');
subplot(222);imshow(log(1+abs(fftshift(F))),[]);
title('Fourierspectrumoforiginalimage');
subplot(223);imshow(g2,[]);
title('FilteredimagebyGaussianhighpassfilter');
FH2=fft2(double(g2),PQ
(1),PQ
(2));
subplot(224);imshow(log(1+abs(fftshift(FH2))),[]);
title('Fourierspectrumofhighpassfilteredimage');