1、数字图像处理实验 7实验三 空域滤波的研究学 校:海南大学班 级:信息安全(1)班姓 名:谯红亮学 号:20091616310019指导老师:姚孝明成 绩: 实验目的:通过具体应用与编程,熟悉掌握空域滤波的本质及其具体算法。实验内容: 1、熟悉matlab环境内应用image toolbox 提供的空域滤波函数,观察相关操作对原图像的作用。 2、应用matlab语句,编写相应空域滤波程序,观察其结果,并与采用既有工具函数局得到的结果进行比较(空域滤波)实验步骤:1、 打开matable软件 ;导入Pout图像,取一个3*3的均权值。h=fspecial(average,3 3); 把Pout用
2、h进行imfilter处理,得出其空域滤波A=imfilter(pout,h); 显示A图像figure,imshow(A); 2、 取一个5*5的均权值h1=fspecial(average,5 5); 把Pout用h1进行imfilter处理,得出其空域滤波 B=imfilter(pout,h1); 高斯滤波 h2=fspecial(gaussian); C=imfilter(pout,h2);单独显示图像C figure,imshow(C); 3、 用函数定义一个数组为294*243全部值为0T=zeros(293,242); 把Pout赋值给TT(2:end-1,2:end-1)=po
3、ut; D=zeros(291,240); for i=2:292 用两个for循环对T做平均处理 for j=2:241 D(i-1,j-1)=(T(i-1,j-1)+T(i-1,j)+T(i-1,j+1)+T(i,j-1)+T(i,j)+T(i,j+1)+T(i+1,j-1)+T(i+1,j)+T(i+1,j+1)/9;endendD=uint8(D);figure,imshow(D);显示图像D4、 E=zeros(291,240); for i=2:292 用两个for循环对T做最大值处理 for j=2:241 E(i-1,j-1)=max(T(i-1,j-1),T(i-1,j),T
4、(i-1,j+1),T(i,j-1),T(i,j),T(i,j+1),T(i+1,j-1),T(i+1,j),T(i+1,j+1);endend E=uint8(E); figure,imshow(E);显示图像E5、 F=zeros(291,240);for i=2:292 用两个for循环对T做最小值处理for j=2:241E(i-1,j-1)=min(T(i-1,j-1),T(i-1,j),T(i-1,j+1),T(i,j-1),T(i,j),T(i,j+1),T(i+1,j-1),T(i+1,j),T(i+1,j+1);endendF=uint8(F);figure,imshow(F
5、);显示图像F6、 G=zeros(291,240); for i=2:292 用两个for循环对T做中间值处理 for j=2:241 G(i-1,j-1)=median(T(i-1,j-1),T(i-1,j),T(i-1,j+1),T(i,j-1),T(i,j),T(i,j+1),T(i+1,j-1),T(i+1,j),T(i+1,j+1);endendG=uint8(G);figure,imshow(G);显示图像G7、 A1=imnoise(pout,salt & pepper,0.02);figure,imshow(A1);T1=zeros(293,242);T1(2:end-1,2
6、:end-1)=A1;for i=2:292 for j=2:241用两个for循环对T1做平均处理 D1(i-1,j-1)=(T1(i-1,j-1)+T1(i-1,j)+T1(i-1,j+1)+T1(i,j-1)+T1(i,j)+T1(i,j+1)+T1(i+1,j-1)+T1(i+1,j)+T1(i+1,j+1)/9;endendD1=uint8(D1);figure,imshow(D1);显示图像D18、 D2=zeros(291,240); for i=2:292 用两个for循环对T1做最大值处理 for j=2:241 D2(i-1,j-1)=max(T1(i-1,j-1),T1(
7、i-1,j),T1(i-1,j+1),T1(i,j-1),T1(i,j),T1(i,j+1),T1(i+1,j-1),T1(i+1,j),T1(i+1,j+1);endendD2=uint8(D2);figure,imshow(D2);显示图像D29、 D3=zeros(291,240); for i=2:292 for j=2:241 用两个for循环对T1做最小值处理 D3(i-1,j-1)=min(T1(i-1,j-1),T1(i-1,j),T1(i-1,j+1),T1(i,j-1),T1(i,j),T1(i,j+1),T1(i+1,j-1),T1(i+1,j),T1(i+1,j+1);
8、endendD3=uint8(D3);figure,imshow(D3);显示图像D310、D4=zeros(291,240); for i=2:292 用两个for循环对T做中间值处理 for j=2:241 D4(i-1,j-1)=median(T1(i-1,j-1),T1(i-1,j),T1(i-1,j+1),T1(i,j-1),T1(i,j),T1(i,j+1),T1(i+1,j-1),T1(i+1,j),T1(i+1,j+1);endendD4=uint8(D4);figure,imshow(D4);显示图像D4实验总结:通过本次实验,对于滤波器进行了了解,有平均权值,最大值、最小值、中间值的处理方式得出各种图像,可以对比出其背景值不一样。熟练掌握了图像的各种处理方式;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1