《数字图像处理》实验教学指导书DOC.docx
- 文档编号:11746599
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:15
- 大小:83.90KB
《数字图像处理》实验教学指导书DOC.docx
《《数字图像处理》实验教学指导书DOC.docx》由会员分享,可在线阅读,更多相关《《数字图像处理》实验教学指导书DOC.docx(15页珍藏版)》请在冰点文库上搜索。
《数字图像处理》实验教学指导书DOC
《数字图像处理》实验教学指导书
班级12网络工程1~2班
12信安1班
实验教师王曦实验室主任教学院长
实验个数4实验总学时8
2015年10月30日
目录
实验一图像FFT变换.....................................................................1一、实验目的及要求..........................................................................1二、实验环境......................................................................................1三、实验内容......................................................................................1四、参考程序......................................................................................2实验二图像的均衡化处理....................................................................8一、实验目的及要求..........................................................................8二、实验环境......................................................................................8三、实验内容......................................................................................8四、参考程序......................................................................................9实验三图像的锐化处理......................................................................13一、实验目的及要求........................................................................13二、实验环境....................................................................................13三、实验内容....................................................................................13四、参考程序....................................................................................13实验四图像的哈夫曼编码..................................................................17一、实验目的及要求........................................................................17二、实验环境....................................................................................17三、实验内容....................................................................................17四、参考程序....................................................................................17五实验报告模板..................................................................................22一、实验目的....................................................................................22二、实验内容....................................................................................22三、实验步骤和设计思想................................................................23四、程序清单....................................................................................23五、实验调试记录............................................................................23六、实验结果及其分析....................................................................24七、实验心得....................................................................................24
实验一图像FFT变换
一、实验目的及要求
1.学习Matlab软件的使用和编程
2.理解傅里叶变换的基本原理;
3.掌握傅里叶变换的移中性和旋转不变性;
4.要求对给定的灰度图像做旋转变换和FFT变换,对旋转前后图像的频谱作比较和分析;
二、实验环境
Windows2003或WindowsXP,Matlab编程环境
三、实验内容
1)产生亮块图像f1(x,y)(128×128,暗处灰度值为0,亮处灰度
值为255),对其进行离散傅里叶变换,同屏显示原图像及其频谱图。
2)在上题所给图像f1(x,y)的基础上,令f2(x,y)=(-1)x+yf1(x,y),对
其进行离散傅里叶变换,同屏显示原图像f1(x,y)及其频谱图,
以及f2(x,y)的频谱图。
3)将第1)题的f1(x,y)顺时针旋转45度得到f3(x,y),对其进行离散傅里叶变换,同屏显示图像f1(x,y)、f3(x,y)及其中心化后的频谱图。
四、参考程序
%1:
产生亮块图像f1(x,y)(128×128,暗处灰度值为0,亮处灰度值为255),
%对其进行离散傅里叶变换,同屏显示原图像及其频谱图。
%Matlab源程序如下:
clcclearall
%产生亮块图像f1(x,y)
f1=zeros(128,128);forx=24:
104fory=48:
80f1(x,y)=255;end
endfigure
(1);subplot(1,2,1);imshow(f1);xlabel('(a)亮块图像f1(x,y)');
axison;
%f1(x,y)的傅里叶变换
FFT_f1=fft2(f1);
%求FFT_f1的频谱
FFT_f1_abs=abs(FFT_f1);tmax=FFT_f1_abs(1,1);tmin=FFT_f1_abs(1,1);forx=1:
128fory=1:
128iftmax end iftmin>FFT_f1_abs(x,y)tmin=FFT_f1_abs(x,y);endend enddelta=tmax-tmin;forx=1: 128fory=1: 128 FFT_f1_abs(x,y)=255*(FFT_f1_abs(x,y)-tmin)/delta;%作归 一化处理 end endsubplot(1,2,2);imshow(FFT_f1_abs);xlabel('(b)f1(x,y)的频谱'); axison; %2.在上题所给图像f1(x,y)的基础上,令f2(x,y)=(-1)x+yf1(x, y),对其进行离散傅里叶变换,同屏显示原图像f1(x,y)及其频谱图, 以及f2(x,y)的频谱图。 %f2(x,y)的频谱图 f2=f1;forx=1: 128fory=1: 128f2(x,y)=(-1)^(x+y)*f1(x,y);end end FFT_f2=fft2(f2);FFT_f2_abs=abs(FFT_f2);tmax=FFT_f2_abs(1,1);tmin=FFT_f2_abs(1,1);forx=1: 128fory=1: 128 iftmax end iftmin>FFT_f2_abs(x,y)tmin=FFT_f2_abs(x,y); end end enddelta=tmax-tmin;forx=1: 128fory=1: 128 FFT_f2_abs(x,y)=255*(FFT_f2_abs(x,y)-tmin)/delta;end endsubplot(1,3,3);imshow(FFT_f2_abs);xlabel('(c)f2(x,y)的频谱图'); axison; %3.产生亮块图像f1(x,y)(128×128,暗处灰度值为0,亮处灰度值为255), %将f1(x,y)顺时针旋转45度得到f3(x,y), %同屏显示图像f1(x,y)、f3(x,y)及其中心化后的频谱图。 %原图像f1(x,y)顺时针旋转45度得到f3(x,y) f3=imrotate(f1,-45,'bilinear');subplot(2,2,3);imshow(f3);xlabel('(c)图像f3(x,y)');axison; %求f3(x,y)的频谱中心化 forx=1: 128fory=1: 128f3(x,y)=(-1)^(x+y)*f3(x,y);end end FFT_f3=fft2(f3);FFT_f3=abs(FFT_f3);tmax=FFT_f3(1,1);tmin=FFT_f3(1,1);forx=1: 128fory=1: 128iftmax iftmin>FFT_f3(x,y)tmin=FFT_f3(x,y); end end enddelta=tmax-tmin;forx=1: 181fory=1: 181 FFT_f3(x,y)=255*(FFT_f3(x,y)-tmin)/delta;end endsubplot(2,2,4);imshow(FFT_f3);xlabel('(d)f3(x,y)的频谱'); axison; 实验二图像的均衡化处理 一、实验目的及要求 1.学习Matlab软件的使用和编程 2.掌握图像的均衡化处理算法原理及步骤; 3.要求对明暗不同的图像分别作均衡化处理。 4.分析图像的均衡化处理结果;二、实验环境 Windows2003或WindowsXP,Matlab编程环境 三、实验内容 分别选用如下三幅较暗、动态范围较窄和较亮的图像,分别进行直方图均衡化处理,并对处理结果作分析; (a)较暗的图像elaindark(b)动态范围较窄的图像elainnarrow (c)较亮的图像elainbright 四、参考程序 %(a)对较暗的图像elaindark直方图均衡化处理 clcclearallclosealla1=imread('elaindark.bmp');figure (1);subplot(2,2,1);imshow(a1);title(' (1)较暗的原图像elaindark'); subplot(2,2,2);imhist(a1);axisoff title(' (2)原图像elaindark的直方图'); a2=histeq(a1);subplot(2,2,3);imshow(a2); title('(3)直方图均衡化后的图像'); subplot(2,2,4);imhist(a2);axisoff title('(4)均衡化后的直方图'); %(b)对动态范围较窄的图像elainnarrow直方图均衡化处理 b1=imread('elainnarrow.bmp');figure (2);subplot(2,2,1);imshow(b1); title(' (1)动态范围较窄的原图像elainnarrow'); subplot(2,2,2);imhist(b1);axisoff title(' (2)原图像elainnarrow的直方图'); b2=histeq(b1);subplot(2,2,3);imshow(b2); title('(3)直方图均衡化后的图像'); subplot(2,2,4);imhist(b2);axisoff title('(4)均衡化后的直方图'); %(c)对较亮的图像elainbright直方图均衡化处理 c1=imread('elainbright.bmp');figure(3);subplot(2,2,1);imshow(c1);title(' (1)较亮的原图像elainbright'); subplot(2,2,2);imhist(c1);axisoff title(' (2)原图像elainbright的直方图');c2=histeq(c1);subplot(2,2,3);imshow(c2); title('(3)直方图均衡化后的图像'); subplot(2,2,4);imhist(c2);axisoff title('(4)均衡化后的直方图'); 实验三图像的锐化处理 一、实验目的及要求 1.学习Matlab软件的使用和编程 2.理解图像增强中的模板锐化法 3.对图像进行a=1和a=2的锐化处理,实现教材中图4.4.2的效果 4.验证教材中提出的锐化实质,实现教材中图4.4.3的效果,对实验结果进行分析二、实验环境 Windows2003或WindowsXP,Matlab编程环境 三、实验内容 1)选择两幅图像,对其进行a=1和a=2的锐化处理,实现教材中图4.4.2的效果,并分析实验结果。 2)选择一幅图像,验证教材中提出的锐化实质,实现教材中图 4.4.3的效果,并分析实验结果。 四、参考程序 %选择两幅图像,对其进行a=1和a=2的锐化处理,实现教材 中图4.4.2的效果 clearall;closeall;f1=imread('D: /lena1.bmp');subplot(2,3,1);imshow(f1); a=1; G1=[0-a0;-a1+4*a-a;0-a0];f2=imfilter(f1,G1,'symmetric','conv');subplot(2,3,2);imshow(f2); a=2; G1=[0-a0;-a1+4*a-a;0-a0];f2=imfilter(f1,G1,'symmetric','conv');subplot(2,3,3);imshow(f2); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% f1=imread('D: /442.bmp');subplot(2,3,4);imshow(f1);xlabel('(a)原图像'); a=1; G1=[0-a0;-a1+4*a-a;0-a0];f2=imfilter(f1,G1,'symmetric','conv');subplot(2,3,5);imshow(f2);xlabel('(b)a=1时的锐化图像'); a=2; G1=[0-a0;-a1+4*a-a;0-a0];f2=imfilter(f1,G1,'symmetric','conv');subplot(2,3,6);imshow(f2);xlabel('(c)a=2时的锐化图像'); %择一幅图像,验证教材中提出的锐化实质,实现教材中图4.4.3的效果 clearall;closeall;f1=imread('D: /lena1.bmp');subplot(1,3,1);imshow(f1);xlabel('(a)原图像'); a=2; G1=[0-a0;-a4*a-a;0-a0];f2=imfilter(f1,G1,'symmetric','conv');subplot(1,3,2);imshow(f2);xlabel('(b)加重的边缘'); a=2; G1=[0-a0;-a1+4*a-a;0-a0];f2=imfilter(f1,G1,'symmetric','conv');subplot(1,3,3);imshow(f2);xlabel('(c)锐化结果图像'); 实验四图像的哈夫曼编码 一、实验目的及要求 1.学习Matlab软件的使用和编程 2.掌握哈夫曼编码算法的基本原理 3.要求对屏幕输入的信符概率向量进行哈夫曼编码二、实验环境 Windows2003或WindowsXP,Matlab编程环境 三、实验内容 1)对屏幕输入的信符概率向量例如‘[0.40.20.160.120.060.04 0.02]’,进行哈夫曼编码。 2)计算计算信源的熵,哈夫曼编码的平均码字长及其编码效率。 3)显示哈夫曼编码与相应计算结果。 四、参考程序 clcclearall p=input('请输入信符的概率向量: '); n=length(p); fori=1: nifp(i)<0 fprintf('\n输入的概率必须大于0! \n'); endend %ifsum(p)-1>0 %fprintf('\n输入的概率非法: 其概率和大于1\n'); %p=input('请输入信符的概率向量: '); %end q=p;a=zeros(n-1,n);fori=1: n-1fprintf('第%d次排序\n',i); [q,l]=sort(q)%q为排好序的原据,l为q中数据在原数据中的存储位置 a(i,: )=[l(1: n-i+1),zeros(1,i-1)]%矩阵a记录n-1次排序的过程fprintf('\n第%d次排序后合并生成的数据',i); q=[q (1)+q (2),q(3: n),1]end %//////////////新生成一个n-1行n列,并且每个元素含有n个字符 (n位)的空白矩阵c,用来进行huffman编码: fori=1: n-1c(i,1: n*n)=blanks(n*n);end c(n-1,n)='0';%根据概率小的编码为0,概率大的编码为1的原则进行编码,c(n-1,2*n)='1';%矩阵c最后一行的第一个元素编码为0,第二个元素编码为1, fori=2: n-1 c(n-i,1: n-1)=c(n-i+1,n*(find(a(n-i+1,: )==1))-(n-2): n*(find(a(n-i+1,: )==1) )) %c/////////的第n-i行中第一个元素的第1: n-1位赋值: 根据矩阵a中第n-i+1行中1的位置k,找到c(n-i+1,(k-1)n+2: nk)的 %//////////编码值进行赋值;c(n-i,n)='0';%//////////////////对c中n-i行中第一个元素的第n 位赋值为0 c(n-i,n+1: 2*n-1)=c(n-i,1: n-1);%//////c的第n-i行中第一、二个 元素的前n-1位相等,因为在a中这两个相应元素合并的结果为a中下一行1的位置k所对应元素; c(n-i,2*n)='1';%////////////////对c中n-i行的第二个元素的第n 位赋值为1 forj=1: i-1c(n-i,(j+1)*n+1: (j+2)*n)=c(n-i+1,n*(find(a(n-i+1,: )==j+1)-1)+1: n*( find(a(n-i+1,: )==j+1)))%将c中n-i+1行没有写入第n-i行的第一、二 个元素位置的剩余编码分别写入第n-i行的第三、四,......,n元素的相应位置; endendfori=1: nh(i,1: n)=c(1,n*(find(a(1,: )==i)-1)+1: find(a(1,: )==i)*n) %///为了输出huf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像处理 数字图像 处理 实验教学 指导书 DOC
![提示](https://static.bingdoc.com/images/bang_tan.gif)