《数字图象处理实验题解析.ppt》由会员分享,可在线阅读,更多相关《数字图象处理实验题解析.ppt(22页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、数字图象处理实验题数字图象处理实验题解析解析现在学习的是第1页,共22页A1 编程实现图象同时对比度d=zeros(32,32);%背景灰度值为0,图像尺寸为32x32d(13:20,13:20)=2;%中心方块为8x8,灰度值为2figure;%建立图形窗口subplot(221);imshow(d,0,5);%显示图像dd=zeros(32,32)+1;%背景灰度值为1,图像尺寸为32x32d(13:20,13:20)=2;subplot(222);imshow(d,0,5);d=zeros(32,32)+3;%背景灰度值为3,图像尺寸为32x32d(13:20,13:20)=2;subp
2、lot(223);imshow(d,0,5);d=zeros(32,32)+5;%背景灰度值为5,图像尺寸为32x32,d(13:20,13:20)=2;subplot(224);imshow(d,0,5);现在学习的是第2页,共22页A1 结果现在学习的是第3页,共22页A2 编程实现马赫带效应cleard=zeros(6,40);%背景灰度值为0,图像尺寸为6x40d(1:6,1:2)=0;d(1:6,3:4)=1;d(1:6,5:6)=2d(1:6,7:8)=3;d(1:6,9:10)=4;d(1:6,11:12)=5;d(1:6,13:14)=6;d(1:6,15:16)=7;d(1:
3、6,17:18)=8;d(1:6,19:20)=9;d(1:6,21:22)=10;d(1:6,23:24)=11;d(1:6,25:26)=12;d(1:6,27:28)=13;d(1:6,29:30)=14;d(1:6,31:32)=15;d(1:6,33:34)=16;d(1:6,35:36)=17;d(1:6,37:38)=18;d(1:6,39:40)=19;figure;%显示图形窗口imshow(d,0,20,notruesize);%显示图形d现在学习的是第4页,共22页B1 编程实现图象读入,计算并显示图象的复利叶功率谱;进一步实现 巴特沃斯高通滤波 巴特沃斯低通滤波A=im
4、read(shilong.jpg);%图像读入B=rgb2gray(A);%RGB图像转换灰度图像subplot(231),imshow(B);title(灰度图像)C=fftshift(fft2(double(B);%显示图像傅立叶频谱subplot(232),imshow(log(abs(C),);title(傅立叶频谱)%显示图像傅立叶功率谱subplot(233),imshow(log(abs(C)2),);title(傅立叶功率谱)现在学习的是第5页,共22页N1,N2=size(C);%Butterworth高通滤波器n=2;d0=5;n1=fix(N1/2);n2=fix(N2/
5、2);for i=1:N1 for j=1:N2 d=sqrt(i-n1)2+(j-n2)2);if d=0 h=0;else h=1/(1+(d0/d)(2*n);end D(i,j)=h*C(i,j);endendE=ifft2(ifftshift(D);F=uint8(real(E);subplot(234),imshow(F);title(Butterworth高通滤波结果现在学习的是第6页,共22页G=imnoise(B,salt&pepper,0.02);%添加椒盐噪声subplot(235),imshow(G);title(添加椒盐噪声)H=fftshift(fft2(doubl
6、e(G);N1,N2=size(H);%Butterworth低通滤波器n=2;d0=50;n1=fix(N1/2);n2=fix(N2/2);for i=1:N1 for j=1:N2 d=sqrt(i-n1)2+(j-n2)2);h=1/(1+0.414*(d/d0)(2*n);I(i,j)=h*H(i,j);endendJ=ifft2(ifftshift(I);K=uint8(real(J);subplot(236),imshow(K);title(Butterworth低通滤波结果)现在学习的是第7页,共22页B1 结果现在学习的是第8页,共22页B2 编程实现图象的同态滤波%滤波参数
7、通过键盘输入(Rl=0.5、Rh=2.0)I=imread(shilong.jpg);%装入真彩图J=rgb2gray(I);%将真彩图转换为灰度图subplot(121),imshow(J);title(灰度图像);J=double(J);f=fft2(J);%采用傅里叶变换g=fftshift(f);%数据矩阵平衡M,N=size(f);%进行同态滤波处理d0=10;Rl=input(请输入Rl=);%低频分量Rh=input(请输入Rh=);%高频分量c=4;n1=floor(M/2);n2=floor(N/2);现在学习的是第9页,共22页for i=1:M for j=1:N d=s
8、qrt(i-n1)2+(j-n2)2);h=(Rh-Rl)*(1-exp(-c*(d.2/d0.2)+Rl;g(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g);subplot(122),imshow(g);title(同态滤波效果);B2结果现在学习的是第10页,共22页C1 编程实现:3x3 平均值滤波及中值滤波 并比较两者的不同A=imread(shilong.jpg);B=rgb2gray(A);C=imnoise(B,salt&pepper,0.02);subplot(221),imshow(B);title(灰度图像)
9、subplot(222),imshow(C);title(添加椒盐噪声)D1=filter2(fspecial(average,3),C)/255;%3x3 平均值滤波D2=medfilt2(C,3,3);%3x3 中值滤波subplot(223),imshow(D1);title(3*3的均值滤波结果)subplot(224),imshow(D2);title(3*3的中值滤波结果)现在学习的是第11页,共22页C1 结果现在学习的是第12页,共22页C1 均值滤波与中值滤波不同:均值滤波是一种线性平滑滤波;中值滤波是一种非线性平滑滤波。均值滤波对“椒盐”噪声的影响不大,因为在削弱噪声的同时
10、整幅图像内容总体也变得模糊,其噪声仍然存在。中值滤波特点是保边缘,频谱基本不变。对去除“椒盐”噪声可以起到很好的效果,因为椒盐噪声只在画面中的部分点上随机出现,所以根据中值滤波原理可知,通过数据排序的方法,将图像中未被噪声污染的点代替噪声点的值的概率比较大,因此噪声的抑制效果很好,同时画面的轮廓依然比较清晰。均值滤波对高斯噪声的抑制是比较好的,处理后的图像边缘模糊较少。中值滤波对高斯噪声的抑制效果不明显,因为高斯噪声使用随机大小的幅值污染所有的点,所以无论怎样进行数据选择,得到的始终还是被污染的值。总之,均值滤波对高斯噪声有较好的抑制作用,而对于椒盐噪声的处理中值滤波要略微有优势。对于椒盐噪声
11、密度较小时,尤其是孤立噪声点,用中值滤波的效果非常好的。现在学习的是第13页,共22页C2 编程实现RGB与HSI的转换,在此基础上 实现对彩色图像的饱和度、色调的改变F=imread(shilong.jpg);F=im2double(F);r=F(:,:,1);g=F(:,:,2);b=F(:,:,3);tmp1=0.5*(r-g)+(r-b);tmp2=sqrt(r-g).2+(r-b).*(g-b);theta=acos(tmp1./(tmp2+eps);H=theta;H(bg)=2*pi-H(bg);H=H/(2*pi);S=1-3.*(min(min(r,g),b)./(r+g+b
12、+eps);I=(r+g+b)/3;hsi=cat(3,H,S,I);现在学习的是第14页,共22页figure,subplot(1,3,1),imshow(H,),title(色度图H);set(gcf,outerposition,get(0,screensize);set(gcf,NumberTitle,off,Name,HSI通道图像);subplot(1,3,2),imshow(S),title(饱和度图S);subplot(1,3,3),imshow(I),title(强度图I);%hsi2rgbHV=hsi(:,:,1)*2*pi;SV=hsi(:,:,2);IV=hsi(:,:,
13、3);R=zeros(size(HV);G=zeros(size(HV);B=zeros(size(HV);%RG Sectorid=find(0=HV)&(HV2*pi/3);B(id)=IV(id).*(1-SV(id);R(id)=IV(id).*(1+SV(id).*cos(HV(id)./cos(pi/3-HV(id);G(id)=3*IV(id)-(R(id)+B(id);现在学习的是第15页,共22页%BG Sectorid=find(2*pi/3=HV)&(HV4*pi/3);R(id)=IV(id).*(1-SV(id);G(id)=IV(id).*(1+SV(id).*co
14、s(HV(id)-2*pi/3)./cos(pi-HV(id);B(id)=3*IV(id)-(R(id)+G(id);%BR Sectorid=find(4*pi/3=HV)&(HVRGBHV=hsi1(:,:,1)*2*pi;SV=hsi1(:,:,2);IV=hsi1(:,:,3);R=zeros(size(HV);G=zeros(size(HV);B=zeros(size(HV);现在学习的是第17页,共22页%RG Sectorid=find(0=HV)&(HV2*pi/3);B(id)=IV(id).*(1-SV(id);R(id)=IV(id).*(1+SV(id).*cos(H
15、V(id)./cos(pi/3-HV(id);G(id)=3*IV(id)-(R(id)+B(id);%BG Sectorid=find(2*pi/3=HV)&(HV4*pi/3);R(id)=IV(id).*(1-SV(id);G(id)=IV(id).*(1+SV(id).*cos(HV(id)-2*pi/3)./cos(pi-HV(id);B(id)=3*IV(id)-(R(id)+G(id);%BR Sectorid=find(4*pi/3=HV)&(HV2*pi);G(id)=IV(id).*(1-SV(id);B(id)=IV(id).*(1+SV(id).*cos(HV(id)-
16、4*pi/3)./cos(5*pi/3-HV(id);R(id)=3*IV(id)-(G(id)+B(id);C1=cat(3,R,G,B);现在学习的是第18页,共22页figure,subplot(1,3,1),imshow(F),title(原图像);set(gcf,outerposition,get(0,screensize);set(gcf,NumberTitle,off,Name,原图、改变色度后HSI颜色模型图像与HSI转RGB通道图像对比);subplot(1,3,2),imshow(hsi1),title(改变色度后的HSI图像);subplot(1,3,3),imshow(C1),title(改变色度后HSI转RGB通道图像);现在学习的是第19页,共22页C2 结果现在学习的是第20页,共22页C2 结果现在学习的是第21页,共22页现在学习的是第22页,共22页