数字图像处理实验报告西电许录平老师.docx
- 文档编号:5899269
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:18
- 大小:355.45KB
数字图像处理实验报告西电许录平老师.docx
《数字图像处理实验报告西电许录平老师.docx》由会员分享,可在线阅读,更多相关《数字图像处理实验报告西电许录平老师.docx(18页珍藏版)》请在冰豆网上搜索。
数字图像处理实验报告西电许录平老师
西安电子科技大学
作业题目数字图像处理上机实验
专业名称计算机系统结构
班级2014级代培班
姓名___
学号
二0一四年十二月
1.产生右图所示图像f1(m,n),其中图像大小为256×256,中间亮条为128×32,暗处=0,亮处=100。
对其进行FFT:
1同屏显示原图f1(m,n)和FFT(f1)的幅度谱图;
2若令f2(m,n)=(-1)m+nf1(m,n),重复以上过程,比较二者幅度谱的异同,简述理由;
3若将f2(m,n)顺时针旋转90度得到f3(m,n),试显示FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进行比较;
4若将f1(m,n)顺时针旋转90度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),试显示FFT(f5)的幅度谱,并指出其与FFT(f1)和FFT(f4)的关系;
5若令f6(m,n)=f2(m,n)+f3(m,n),试显示FFT(f6)的幅度谱,并指出其与FFT(f2)和FFT(f3)的关系,比较FFT(f6)和FFT(f5)的幅度谱。
实现代码:
f1=zeros(256,256);
fori=64:
1:
191
forj=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);
fori=23:
1:
233
forj=28:
1:
35
f(i,j)=255;
end
forj=52:
1:
59
f(i,j)=255;
end
forj=76:
1:
83
f(i,j)=255;
end
forj=100:
1:
107
f(i,j)=255;
end
forj=124:
1:
131
f(i,j)=255;
end
forj=148:
1:
155
f(i,j)=255;
end
forj=172:
1:
179
f(i,j)=255;
end
forj=196:
1:
203
f(i,j)=255;
end
forj=220:
1:
227
f(i,j)=255;
end
end
g=imnoise(f,'gaussian',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:
\picture\flower.jpg');
f2=rgb2gray(f1);
f3=f2;
zm=max(f2(:
));
zi=min(f2(:
));
k=2;
T(k)=(zm+zi)/2;
whileT(k)~=T(k-1);
r1=find(f2<=T(k));
r2=find(f2>T(k));
k=k+1;
T(k)=(mean(f2(r1))+mean(f2(r2)))/2;
end
r3=find(f3<=T(k));
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层小波分解,并在此基础上提取各层的低频信息实现图像的压缩.关于小波变换的描述请参考最后一题附件文章:
TheMonogenicWaveletTransform
程序如下:
clc
closeall
clear
a=imread('C:
\picture\flower.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编程语言,为以后学习数字图像处理相关领域的知识打下了坚实的基础,在实验中通过自己的不断努力,看到自己的代码能够成功运行并得到正确的实验结果,内心也收获了很多喜悦和满足感,同时加强了对数字图像处理的兴趣和掌握更高深的数字图像处理技能的信心。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 实验 报告 西电许录平 老师