数字图像处理实验matlab4.doc
《数字图像处理实验matlab4.doc》由会员分享,可在线阅读,更多相关《数字图像处理实验matlab4.doc(12页珍藏版)》请在咨信网上搜索。
数字图像处理实验matlab4 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 12 个人收集整理 勿做商业用途 9,对图3实施正交变换编码和解码(采用离散傅立叶变换)。建议将图3分成4*4的4个子图象。 思路:先将图3数据读入模块,显示图像,将图分块进行DFT变换,显示图像,,在进行反变换恢复原数据,在进行哈夫曼编码编码,后解码。 原理: 傅立叶变换 傅立叶变换是数字图像处理中应用最广的一种变换,其中图像增强、图像复原 和图像分析与描述等,每一类处理方法都要用到图像变换,尤其是图像的傅立 叶变换. 离散傅立叶(Fourier)变换的定义: 二维离散傅立叶变换(DFT)为: 逆变换为: 式中, 在DFT变换对中, 称为离散信号 的频谱,而 称为幅度谱, 为相位角,功率谱为频谱的平方,它们之间的关系为: 图像的傅立叶变换有快速算法. 下面给出具体的Huffman编码算法。 (1)首先统计出每个符号出现的频率,例如S0到S7的出现频率分别为:0.25,0.19,0。08,0.06,0。21,0。02,0.03,0.16 (2)从左到右把上述频率按从大到小的顺序排列。 (3)将最小的两个数相加的值表上*号,其余的数据不变,然后将得到的数据排序 (4)重复(3),直到只有两个数据. (5) 从最后一列概率编码,从而得到最终编码。 具体过程如下图所示: 概率压缩过程: 初始信源 信源的消减步骤 符号 概率 1 2 3 4 5 6 S0 0。25 0.25 0。25 0.25 0。35* 0。4* 0。6* 0。21 0。21 0.21 0.25 0.35 0。4 0.19 0。19 0.19 0.21 0。25 0.16 0.16 0。19* 0。19 0.08 0。11* 0。16 0。06 0.08 0.05* S4 0。21 S1 0。19 S7 0.16 S2 0。08 S3 0。06 S6 0.03 S5 0。02 表 3-1 哈夫曼概率压缩过程 编码过程: 初始信源 对消减信源的赋值 符号 概率 编码 1 2 3 4 5 6 S0 0.25 01 0.25 01 0.25 01 0。25 01 0。35*00 0。4* 1 0.6* 0 0.21 10 0。21 10 0。21 10 0。25 01 0。35 00 0。4 1 0.19 11 0。19 11 0.19 11 0.21 10 0。25 01 0.16 001 0.16 001 0.19*000 0.19 11 0.08 0001 0。11* 0000 0.16 0001 0。06 00000 0.08 0001 0。05* 00001 S4 0。21 10 S1 0.19 11 S7 0。16 001 S2 0。08 0001 S3 0。06 00000 S6 0.03 000010 S5 0。02 000011 表 3-2 哈夫曼算法编码过程 读入图像 算法流程 初始化 统计每种灰度数 灰度数排序 此处并没有采用概率排序, 而是采用对灰度像素个数 按哈夫曼算法编码 排序,这是因为计算概率无 疑增大了计算量,因此用灰 将灰度编码表及原图的编码写入txt 度级的像素个数替代 图3—1 哈夫曼算法程序流程图 程序: clc; clear; close all; A=[3 3 4 4 4 4 5 2 4 1 1 2 2 1 5 4 4 3 4 4 4 4 5 2 4 5 2 5 0 3 1 2 1 5 0 3 3 5 6 4 2 3 1 1 2 2 1 2 0 3 6 5 5 7 2 0 3 1 2 2 1 5 0 6]; subplot(2,2,1),imshow(A);title(’原图’); I=double(A); P=A(1:4,1:4); K=fft(P); P1=A(1:4,5:8); K1=fft(P1); P2=A(5:8,1:4); K2=fft(P2); P3=A(5:8,5:8); K3=fft(P3); for i=1:4 for j=1:4 H(i,j)=K(i,j); end end for i=1:4 for j=5:8 H(i,j)=K1(i,j-4); end end for i=5:8 for j=1:4 H(i,j)=K2(i—4,j); end end for i=5:8 for j=5:8 H(i,j)=K3(i-4,j-4); end end subplot(2,2,2),imshow(H);title(’DFT变换后的频域图像’); I=H(1:4,1:4); M=ifft(I); I1=H(1:4,5:8); M1=ifft(I1); I2=H(5:8,1:4); M2=ifft(I2); I3=H(5:8,5:8); M3=ifft(I3); for i=1:4 for j=1:4 A1(i,j)=M(i,j); end end for i=1:4 for j=5:8 A1(i,j)=M1(i,j-4); end end for i=5:8 for j=1:4 A1(i,j)=M2(i-4,j); end end for i=5:8 for j=5:8 A1(i,j)=M3(i—4,j—4); end end subplot(2,2,3),imshow(A1);title(’复原图像'); %编码 %读入图像,定义结构体,便于存储 I=A; pix(8)=struct('huidu',0.0,.。. 'number',0。0,..。 'bianma',’’); [m n l]=size(I); fid=fopen('E:\学习\数字图像处理\huffman。txt',’w');%huffman。txt是灰度级及相应的编码表 fid1=fopen(’E:\学习\数字图像处理\huff_compara.txt ','w');%huff_compara.txt是编码表 huf_bac=cell(1,l); for t=1:l %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %初始化结构数组 for i=1:8 pix(i)。number=1; pix(i)。huidu=i-1; pix(i).bianma='’; end %统计每种灰度像素的个数记录在pix数组中 for i=1:m for j=1:n k=I(i,j,t)+1; pix(k).number=1+pix(k).number; end end %按灰度像素个数从大到小排序 for i=1:7 for j=i+1:8 if pix(i).number<pix(j).number temp=pix(j); pix(j)=pix(i); pix(i)=temp; end end end for i=8:-1:1 if pix(i)。number ~=0 break; end end num=i; count(t)=i;%记录每层灰度级 %定义用于求解的矩阵 clear huffman huffman(num,num)=struct(’huidu’,0。0,.。. 'number',0.0,。.. ’bianma’,’'); huffman(num,:)=pix(1:num); %矩阵赋值 for i=num-1:—1:1 p=1; %算出队列中数量最少的两种灰度的像素个数的和 sum=huffman(i+1,i+1).number+huffman(i+1,i)。number; for j=1:i %如果当前要复制的结构体的像素个数大于sum就直接复制 if huffman(i+1,p).number>sum huffman(i,j)=huffman(i+1,p); p=p+1; else %如果当前要复制的结构体的像素个数小于或等于sum就插入和的结构体 %灰度值为—1标志这个结构体的number是两种灰度像素的和 huffman(i,j).huidu=—1; huffman(i,j)。number=sum; sum=0; huffman(i,j+1:i)=huffman(i+1,j:i-1); break; end end end %开始给每个灰度值编码 for i=1:num—1 obj=0; for j=1:i if huffman(i,j)。huidu==-1 obj=j; break; else huffman(i+1,j).bianma=huffman(i,j).bianma; end end if huffman(i+1,i+1)。number〉huffman(i+1,i).number %说明:大概率的编0,小概率的编1,概率相等的,标号大的为1,标号小的为0 huffman(i+1,i+1)。bianma=[huffman(i,obj).bianma '0’]; huffman(i+1,i)。bianma=[huffman(i,obj)。bianma ’1']; else huffman(i+1,i+1)。bianma=[huffman(i,obj)。bianma ’1']; huffman(i+1,i)。bianma=[huffman(i,obj).bianma ’0’]; end for j=obj+1:i huffman(i+1,j—1)。bianma=huffman(i,j).bianma; end end for k=1:count(t) huf_bac(t,k)={huffman(num,k)}; %保存 end end %写出灰度编码表 for t=1:l for b=1:count(t) fprintf(fid,’%d’,huf_bac{t,b}。huidu); fwrite(fid,’ ’); fprintf(fid,'%s’,huf_bac{t,b}。bianma); fwrite(fid,’ ’); end fwrite(fid,’%'); end %解码 %按原图像数据,写出相应的编码,也就是将原数据用哈夫曼编码替代 for t=1:l for i=1:m for j=1:n for b=1:count(t) if I(i,j,t)==huf_bac{t,b}.huidu M(i,j,t)=huf_bac{t,b}。huidu;%将灰度级存入解码的矩阵 fprintf(fid1,’%s’,huf_bac{t,b}.bianma); fwrite(fid1,’ ’);%用空格将每个灰度编码隔开 break; end end end fwrite(fid1,',’);%用空格将每行隔开 end fwrite(fid1,'%’);%用%将每层灰度级代码隔开 end fclose(fid); fclose(fid1); M=uint8(M); save('M’)%存储解码矩阵 M subplot(2,2,4),imshow(A);title(’解码后图’); 对应编码: 0 0001 1 001 2 10 3 011 4 11 5 010 6 00000 7 00001 矩阵的编码 11 001 001 10 10 001 010 11 , 11 011 11 11 11 11 010 10 , 11 010 10 010 0001 011 001 10 , 001 010 0001 011 011 010 00000 11 , 10 011 001 001 10 10 001 10 , 0001 011 00000 010 010 00001 10 0001 , 011 001 10 10 001 010 0001 00000 , 解码矩阵: M = 3 3 4 4 4 4 5 2 4 1 1 2 2 1 5 4 4 3 4 4 4 4 5 2 4 5 2 5 0 3 1 2 1 5 0 3 3 5 6 4 2 3 1 1 2 2 1 2 0 3 6 5 5 7 2 0 3 1 2 2 1 5 0 6- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 实验 matlab4
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文