




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 DIP上机报告题 目:数字图像处理上机报告(第4次) 学 校: 中国地质大学(武汉) 指 导 老 师: 傅华明 姓 名: 龙 勋 班 级 序 号: 071112-06 目录1图像霍夫曼编码与解码以及熵,平均码长,冗余度的计算32上机小结10注:给定的文件夹中只需运行test脚本就可以得到结果,从workspace中看到相应的数据4.2图像的霍夫曼编码与解码题目要求: 对图2实施哈夫曼编码和解码,计算图象熵,平均码长和 冗余度; 算法设计: 1.遍历图像,统计各个像素灰度值的概率 2.找出概率最小的两个,在最小概率所代表的灰度值编码中加1,在另一个较小的概率所代表的灰度值编码中加0 3.合并两
2、个概率,成为一个新的元素,如此重复下去,直到最后剩两个元素 4.进行编码的逆过程,即解码过程 5.计算相应的数据 程序代码: 运行代码:clear in=2,2,3,5,0,0,5,5, 5,4,1,1,2,2,1,5, 4,6,5,5,7,2,2,3, 5,2,2,2,3,4,4,4, 6,2,1,4,1,1,2,2, 1,5,7,6,5,5,7,2, 2,4,4,1,2,2,1,5, 2,3,1,2,2,1,5,0; p,out = gailv( in );code = Huffman(0:7,p); %进行霍夫曼编码Coded_Img=Encode(in,code); %对图像进行编码H
3、,L,R=GetInfo(code); %计算熵、平均码长、冗余度Img=Decode(Coded_Img,code); %对图像进行解码图像各像素灰度的概率计算:function p,out =gailv( in ) M,N=size(in);out = zeros(4,8);p = zeros(1,8);for i=1:8 out(1,i)=i-1;endfor i=1:M for j=1:N for k=1:8 if in(i,j) = out(1,k) out(2,k)=out(2,k)+1; end end endendfor i=1:8 out(3,i)=out(2,i)/(M*N
4、); p(1,i)=out(2,i)/(M*N);end end霍夫曼编码过程:function code_out = Huffman(s,p) Ms,Ns=size(s);if (Ms=1) sig=s'else sig=s;end%s为各元素名称 p为各元素概率Ms,Ns=size(sig);Mp,Np=size(p);if (Ms=Np) return;end code=cell(Ms,4);%建立编码cellcode_out=cell(Ms,3);%建立输出cellcoding=cell(Ms,2);%建立编码过程中用到的cell for i=1:Ms codei,1=sig(
5、i,:);%第一列为元素名称 codei,2=;%第二列为编码 codei,3=p(i);%第三列为元素概率 codei,4=;%第四列为元素概率排行 codingi,1=p(i);%第一行为元素概率 codingi,2=i;%第二行表示此概率由哪些元素组成end m,l=Cell_min(coding(:,1);%找出最小值 while (m<1)%若最小值小于1(编码尚未完成) m1,l1=Cell_min(coding(:,1);%找出最小值 temp_p=codingl1,1;%记录下最小概率 codingl1,1=2;%将概率改为2,则以后不会再次取到 m2,l2=Cell_m
6、in(coding(:,1);%找出次小值 codingl2,1=codingl2,1+temp_p;%最小概率和次小概率相加得到新元素概率 k,mp=size(codingl1,2);%考虑最小概率包含了哪些元素 for i=1:mp codecodingl1,2(i),2=1,codecodingl1,2(i),2;%在这些元素的编码前加1 end k,mp=size(codingl2,2);%考虑次小概率包含了哪些元素 for i=1:mp codecodingl2,2(i),2=0,codecodingl2,2(i),2;%在这些元素的编码前加0 end codingl2,2=codi
7、ngl2,2,codingl1,2;%新元素包含了次小和最小元素包含的所有元素 m,l=Cell_min(coding(:,1);%找出当前最小值,继续循环end for i=1:Ms code_out(i,1:3)=code(i,1:3);%输出cell前3列等于编码cell前3列end求概率的最小值函数:function mind,loc=Cell_min(data)%找出cell中的某列元素的最小值和位置M,N=size(data); loc=-1; for i=1:M d(i)=datai(1,1);end turemin=min(d);%找出最小值 for i=1:M %遍历矩阵,找
8、出最小值所在位置 if (d(i)=turemin) mind=d(i); loc=i; return; endend end图像编码代码:function Coded_Img=Encode(img,code)%遍历图像,查表确定码字M,N=size(img);Mc,Nc=size(code);Coded_Img=cell(M,N);for i=1:M for j=1:N data=img(i,j); for k=1:Mc if (codek,1=data) Coded_Imgi,j=codek,2; end end endendend图像解码代码:function img=Decode(Co
9、ded_Img,code)%遍历编码图像,查表确定数值M,N=size(Coded_Img);Mc,Nc=size(code); for i=1:M for j=1:N data=Coded_Imgi,j; for k=1:Mc if(size(data)=size(codek,2) if (codek,2=data) img(i,j)=codek,1; end end end endend end相关数据的计算:function H,L,R=GetInfo(code)M,N=size(code); H=0; for i=1:M H=H+codei,3*log2(1/codei,3);end%
10、计算熵 L=0; for i=1:M m,n=size(codei,2); L=L+codei,3*n;end%计算平均码长 R=L/H-1;%计算冗余度 end运行结果: 编码前图像: 编码后图像: 解码后图像: 熵(H)、平均码长(L)、冗余度(R)至此,成功实现了图像矩阵的编码和解码以及相关参数的计算。上机小结: 此次试验是对图像的矩阵进行霍夫曼编码和解码,编程的过程并不像平时做题一样很顺利。有很多平时认为很简单的编码过程用程序实现起来比较麻烦,但是也进一步了解到了霍夫曼编码的原理。在这次编程的过程中我还有一个比较棘手的问题没有解决,就是在霍夫曼编码的过程中,由于各个元素的概率是以double型的数据出现的,进行了四舍五入的处理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肇庆市实验中学高中生物:第二章基因和染色体的关系(第2课时)教案
- 部编版一年级语文下册期末综合试卷(附答案)
- 新疆体育职业技术学院《科技论文写作指导》2023-2024学年第二学期期末试卷
- 新疆医科大学《微生物与生物化学基础》2023-2024学年第二学期期末试卷
- 信阳艺术职业学院《内科学C》2023-2024学年第二学期期末试卷
- 2025-2030年中国PE行业发展预测分析及投资规划研究报告
- 2025-2030工业锅炉市场发展现状调查及供需格局分析预测报告
- 甘肃省平凉市崆峒区2024届中考一模数学试题含解析
- 广东省高州市谢鸡镇达标名校2023-2024学年中考数学最后冲刺模拟试卷含解析
- 2025年企业负责人安全培训考试试题及答案 完整
- 2024年四川西南石油大学招聘事业编制辅导员考试真题
- 2025年证券从业资格证考试题库试题及答案
- 管道工程安全管理与保障措施考核试卷
- 猪场出售合同协议
- 电瓶车充电安全培训讲义
- 雨季行车安全教育
- 2024-2025学年人教版八年级地理下学期全册教案
- 人教版数学六年级下册4.3.2图形的放大与缩小练习卷含答案
- 《教育系统重大事故隐患判定指南》解读
- 灌溉排水工程项目可行性研究报告编制
- 公益发展面试题及答案
评论
0/150
提交评论