图像霍夫曼编码与解码以及熵,平均码长,冗余度的计算_第1页
图像霍夫曼编码与解码以及熵,平均码长,冗余度的计算_第2页
图像霍夫曼编码与解码以及熵,平均码长,冗余度的计算_第3页
图像霍夫曼编码与解码以及熵,平均码长,冗余度的计算_第4页
图像霍夫曼编码与解码以及熵,平均码长,冗余度的计算_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DIP计算机报告主题:数字图像处理计算机报告(第4期)学校:中国地质大学(武汉)指老教师:傅华明姓氏:龙勋班级编号:07112-06目录1图像霍夫曼编码和解码以及熵、平均码长和冗余度的计算32计算机10概述注意:您只需要在给定的文件夹中运行测试脚本来获得结果,并从工作区中查看相应的数据。4.2图像的霍夫曼编码和解码主题要求:在图2上执行霍夫曼编码和解码,并计算图像熵、平均码长和冗余度。算法设计:1.遍历图像并计算每个像素灰度值的概率2.找出概率最低的两个,将最低概率表示的灰度值代码加1,将另一个较小概率表示的灰度值代码加03.将这两个概率结合起来形成一个新元素,并重复直到最后两个元素被保留。4.编码的逆过程,即解码过程5.计算相应的数据程序代码:运行代码:清楚的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);码=霍夫曼(0:7,p);%用于霍夫曼编码编码=编码(输入,编码);%编码图像H,L,R=GetInfo(代码);%计算熵、平均代码长度、冗余度Img=解码(编码_Img,编码);%解码图像图像中每个像素灰度级的概率计算;函数 p,out =gailv(in)M,N=尺寸(英寸);out=,8);p=零(1,8);对于i=1:8out(1,I)=I-1;目标对于i=1:M对于j=1:N对于k=1:8如果in(i,j)=out(1,k)out(2,k)=out(2,k)1;目标目标目标目标对于i=1:8out(3,i)=out(2,I)/(M * N);p(1,i)=out(2,I)/(M * N);目标目标霍夫曼编码过程:函数码输出=霍夫曼(s,p)Ms,Ns=尺寸;如果(毫秒=1)sig=s。其他sig=s。目标%s是元素名p是元素概率。Ms,Ns=尺寸(SIG);Mp,Np=大小(p);if (Ms=Np)返回;目标代码=小区(Ms,4);%创建编码单元格code _ out=小区(毫秒,3);%创建输出单元格编码=小区(毫秒,2);编码过程中使用的单元格百分比i=1:Ms毫秒代码i,1=sig(i,);%的第一列是元素名称代码i,2 =;%第二列已编码代码i,3 =p(I);%第三列是元素概率代码i,4 =;%第四列是元素概率排名编码i,1 =p(I);第一个行为元素的概率百分比编码i,2 =I;第二行%表示该概率由哪些元素组成目标m,l=Cell_min(编码(:1);%查找最小值而(m1)%如果最小值小于1(编码尚未完成)m1,l1=Cell_min(编码(:1);%查找最小值temp _ p=编码l1,1 ;%记录最小概率编码l1,1 =2;%将概率更改为2,以后将不再检索。m2,l2=Cell_min(编码(:1);%查找次要值编码l2,1 =编码l2,1 temp _ p;新元素概率是通过添加%最小概率和次最小概率获得的。k,MP=大小(编码l1,2 );%考虑哪些元素包含在最小概率中i=1:mp代码codingl1,2(i),2=1,代码codingl1,2(i),2 ;% 1在这些元素编码之前添加目标k,MP=大小(编码l2,2 );%考虑下一个小概率中包含哪些元素i=1:mp代码codingl2,2(i),2=0,代码codingl2,2(i),2 ;%在编码这些元素之前添加0目标编码l2,2=编码l2,2 ,编码l1,2 ;% new元素包含次要元素和最小元素包含的所有元素m,l=Cell_min(编码(:1);%找到当前最小值并继续循环目标i=1:Ms毫秒code_out(i,1:3)=code(i,1:3);%输出单元格的前3列等于编码单元格的前3列。目标找到概率的最小函数:功能思维,锁定=细胞_分钟(数据)%查找单元格中列元素的最小值和位置M,N=大小(数据);loc=-1;对于i=1:Md(I)=数据i(1,1);目标ture min=min(d);%查找最小值对于i=1:M%,遍历矩阵以找到最小值的位置if(d(I)=ture min)mind=d(I);loc=I;返回;目标目标目标图像编码代码:函数编码=编码%遍历图像,查找表以确定码字M,N=大小(img);Mc,Nc=尺寸(代码);编码_ Img=单元格(M,N);对于i=1:M对于j=1:N数据=img(i,j);对于k=1:Mcif(代码k,1 =数据)Coded_Imgi,j=codek,2。目标目标目标目标目标图像解码代码:函数Img=解码(编码_Img,编码)%遍历编码图像并查找表以确定值。M,N=大小(编码_ Img);Mc,Nc=尺寸(代码);对于i=1:M对于j=1:N数据=Coded_Imgi,j ;对于k=1:Mcif(大小(数据)=大小(代码k,2)if(代码k,2 =数据)img(i,j)=代码k,1 ;目标目标目标目标目标目标相关数据的计算:函数H,L,R=GetInfo(代码)M,N=大小(代码);H=0。对于i=1:MH=H代码i,3 * log2(1/代码i,3 );目标%计算熵L=0。对于i=1:Mm,n=大小(代码i,2 );L=L代码i,3 * n;目标%计算平均代码长度r=升/高-1;%计算冗余度目标运行结果:编码前的图像:编码图像:解码图像:熵(h),平均码长(l),冗余度(r)到目前为止,图像矩阵的编码和解码以及相关参数的计算已经成功实现。计算机上的摘要:本实验是对图像矩阵进行霍夫曼编码和解码。编程过程不像往常那样顺利。有很多普通人认为用程序实现简单的编码过程更麻烦,但他们也更了解霍夫曼编码的原理。在这个编程的过程中,我还有一个棘手的问题没有解决,那就是在霍夫曼编码的过程中,每个元素出现的概率是双数据,这是四舍五入的。如果在编码过程中对几个概率进行了舍入,那

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论