数字图像处理实验报告_西电许录平老师__西电实验报告
数字图像处理实验报告_西电许录平老师_由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“西电实验报告”。
西安电子科技大学
作业题目专 业 名班 姓 学 数字图像处理上机实验
称
计算机系统结构 级 2014级代培班
名 _ _ _ 号 二0一四 年 十二月
1.产生右图所示图像 f1(m,n),其中图像大小为256×256,中间亮条为128×32,暗处=0,亮处=100。对其进行FFT:
① 同屏显示原图f1(m,n)和FFT(f1)的幅度谱图;
② 若令f2(m,n)=(-1)m+n f1(m,n),重复以上过程,比较二者幅度谱的异同,简述理由;
③ 若将f2(m,n)顺时针旋转90度得到f3(m,n),试显示FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进行比较;
④ 若将f1(m,n)顺时针旋转90度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),试显示FFT(f5)的幅度谱,并指出其与 FFT(f1)和FFT(f4)的关系;
⑤ 若令f6(m,n)=f2(m,n)+f3(m,n),试显示FFT(f6)的幅度谱,并指出其与 FFT(f2)和FFT(f3)的关系,比较FFT(f6)和FFT(f5)的幅度谱。
实现代码:
f1=zeros(256,256);
for i =64:1:191 for j = 112:1:143 f1(i,j)= 100;
end
end
f2 = fft2(f1);f3 =((-1)^(i+j))*f1;f4 = fft2(f3);
f5 = imrotate(f3,90,'bilinear');f6 = fft2(f5);
f7 = imrotate(f1,90,'bilinear');f8 = fft2(f7);f9 = f1 + f7;f10 = fft2(f9);f11 = f3 + f5;f12 = fft2(f11);
figure(1)subplot(1,2,1);imshow(abs(f1));title('原图f1');subplot(1,2,2);imshow(abs(f2));title('幅度谱fft2(f1)');figure(2)subplot(2,2,1)
imshow(abs(f1));title('原图f1')subplot(2,2,2)imshow(abs(f2));title('幅度谱fft2(f1)');subplot(2,2,3);imshow(abs(f3))title('变换谱f2');subplot(2,2,4);imshow(abs(f4));title('幅度谱fft2(f2)');figure(3)subplot(2,2,1)imshow(abs(f3))title('变换谱f2');subplot(2,2,2);imshow(abs(f4));title('幅度谱fft2(f2)');subplot(2,2,3);imshow(abs(f5))title('变换谱f3');subplot(2,2,4);imshow(abs(f6));title('幅度谱fft2(f3)');figure(4)subplot(3,2,1);imshow(f7);
title('f1旋转图f4');subplot(3,2,2);imshow(abs(f8));title('幅度谱fft2(f4)');subplot(3,2,3);imshow(f9);
title('f5(m,n)=f1+f4');subplot(3,2,4);imshow(abs(f10));title('幅度谱fft2(f5)');subplot(3,2,5)imshow(abs(f1));title('原图f1');subplot(3,2,6);imshow(abs(f2));title('幅度谱fft2(f1)');
figure(5)subplot(3,2,1)imshow(abs(f3))title('变换谱f2');subplot(3,2,2);imshow(abs(f4));title('幅度谱fft2(f2)');subplot(3,2,3);imshow(abs(f5))title('变换谱f3');subplot(3,2,4);imshow(abs(f6));title('幅度谱fft2(f3)');subplot(3,2,5)imshow(abs(f11))title('变换谱f6=f2+f3');subplot(3,2,6);imshow(abs(f12));title('幅度谱fft2(f6)');
figure(6)subplot(2,2,1);imshow(f9);
title('f5(m,n)=f1+f4');subplot(2,2,2);imshow(abs(f10));title('幅度谱fft2(f5)');subplot(2,2,3)imshow(abs(f11))
title('变换谱f6(m,n)=f2+f3');subplot(2,2,4);imshow(abs(f12));title('幅度谱fft2(f6)');
实验结果:
结果分析:
1、F2(m,n)与F1(m,n)幅度值相同,f2(m,n)=(-1)^(m+n)*f1(m,n)中,并未改变幅值。
2、FFT(f2)比FFT(f3)幅值大。
3、f5=f1+f4,即幅值相加。
4、f6=f2+f3,即幅值相加。
2.产生教材104页题图4.18(右图)所示的二值图像(白为1,黑为0),编程实现习题4.18所要求的处理(33的平均滤波和中值滤波)功能(图像四周边界不考虑,处理结果按四舍五入仍取0或1),显示处理前后的图像,比较其异同。
实现代码:
I=[ 1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;];J=imhist(I,2);
K=filter2(fspecial('average',3),I);K1=round(K);J1=imhist(K1,2);K2=medfilt2(I);J2=imhist(K2,2);
figure(1)subplot(2,2,1)imshow(I);title('原图像');subplot(2,2,2)imshow(J);
title('原图像直方图');subplot(2,2,3)imshow(K1);
title('3*3领域平均');subplot(2,2,4)imshow(J1);
title('领域平均图像直方图')
figure(2)subplot(2,2,1)imshow(I);title('原图像');subplot(2,2,2)imshow(J);
title('原图像直方图');subplot(2,2,3)imshow(K2);title('中值滤波');subplot(2,2,4)imshow(J2);
title('中值滤波图像直方图')
实验结果:
3.产生教材 104 页题图 4.16 所示的灰度图像(白为255,黑为0),分别加入高斯白噪声和椒盐噪声,再分别进行 3×3 的平均滤波和中值滤波,显示原图像、加噪图像和滤波结果图像,并比较四种滤波结果。
实验代码:
f=zeros(256,256);for i =23:1:233
for j=28:1:35 f(i,j)=255;
end
for j=52:1:59 f(i,j)=255;
end
for j=76:1:83 f(i,j)=255;
end
for j=100:1:107
f(i,j)=255;
end
for j=124:1:131 f(i,j)=255;
end
for j=148:1:155 f(i,j)=255;end
for j=172:1:179 f(i,j)=255;
end
for j=196:1:203 f(i,j)=255;
end
for j=220:1:227 f(i,j)=255;
end end
g=imnoise(f,'gauian',0.2);s=imnoise(f,'salt & pepper',0.2);k1=filter2(fspecial('average',3),g);G1=round(k1);G2=medfilt2(g);
k2=filter2(fspecial('average',3),s);S1=round(k2);S2=medfilt2(s);
figure(1)imshow(f)title('原图像');figure(2)subplot(3,2,1)imshow(g)title('高斯图像');subplot(3,2,2)imshow(s)title('椒盐图像');subplot(3,2,3)imshow(G1)
title('平均滤波高斯图像');subplot(3,2,5)imshow(G2)
title('中值滤波高斯图像');
subplot(3,2,4)imshow(S1)
title('平均滤波椒盐图像');subplot(3,2,6)imshow(S2)
title('中值滤波椒盐图像');
实验结果:
4.编程实现教材 214 页所给图像门限化分割的迭代阈值算法,实现对某一灰度图像的二值化。
实现代码:
f1=imread('C:pictureflower.jpg');f2=rgb2gray(f1);f3=f2;
zm=max(f2(:));zi=min(f2(:));k=2;
T(k)=(zm+zi)/2;while T(k)~=T(k-1);r1=find(f2T(k));k=k+1;
T(k)=(mean(f2(r1))+mean(f2(r2)))/2;end
r3=find(f3
r4=find(f3>T(k));f3(r3)=0;f3(r4)=255;
figure(1)subplot(221)imshow(f1)title('原始图像');subplot(222)imshow(f2)title('灰度图像');subplot(223)imshow(f3)
title('迭代阈值算法二值化');
实验结果:
5.实验内容:熟悉小波变换的概念和原理,熟悉matlab小波工具箱主要函数的使用.利用二维小波分析对一幅图象作2层小波分解,并在此基础上提取各层的低频信息实现图像的压缩.关于小波变换的描述请参考最后一题附件文章:The Monogenic Wavelet Transform 程序如下:
clc close all clear
a=imread('C:pictureflower.jpg');subplot(1,2,1);imshow(a);title('原始图像');I=rgb2gray(a);subplot(1,2,2);imshow(I);
title('原始图像的灰度图像');% ½øÐжþάС²¨±ä»»
[a,b] = wavedec2(I, 2, 'bior3.7');% ÌáÈ¡¸÷²ãµÍƵÐÅÏ¢ figure;
c = appcoef2(a, b, 'bior3.7', 1);subplot(1,2,1);imshow(c, []);
title('一层小波变换结果');
d = appcoef2(a, b, 'bior3.7', 2);subplot(1,2,2);imshow(d, []);
title('二层小波变换结果');
实验结果:
心得体会:
数字图像在现代信息社会中的应用越来越广泛,因此掌握数字图像处理的基本技能是一个计算机及其相关专业技术人员必须具备的素质,也为适应技术的进一步发展和自己的进一步深入学习做好铺垫。
通过这次数字图像课程及其相关实验的完成,让我明白了实际操作与课程学习之间的紧密联系,实验操作具有生动直观的特点,可以进一不加深对课程学习的理论知识的理解。数字图像处理的很多操作实际上是很繁琐的,但是只要细心,遇到问题冷静沉着,耐心思考,找到问题的突破口,一步一步的解决问题,很多问题就会迎刃而解。同时,通过相关的课程学习和实验,我也体会到了MATLAB软件的强大功能,进一步熟练了MATLAB软件平台的操作,进一步熟练了MATLAB编程语言,为以后学习数字图像处理相关领域的知识打下了坚实的基础,在实验中通过自己的不断努力,看到自己的代码能够成功运行并得到正确的实验结果,内心也收获了很多喜悦和满足感,同时加强了对数字图像处理的兴趣和掌握更高深的数字图像处理技能的信心。