数字图像处理实验6图像编码

一、实验目的

(1)了解图像编码的目的及意义,加深对图像编码的感性认识。

(2)熟练掌握哈夫曼编码的实现与应用。

(3)掌握行程长度编码的实现与应用,尤其是BMP和PCX文件的行程长度编码*。

二、实验内容

(1)选择图像,对其进行哈夫曼编码,总结哈夫曼编码的压缩思想。

(2)选择图像,对其进行行程编码,观察将图像保存为PCX文件后,图像占用空间的变化,并总结PCX的编码特点*三、实验代码及结果、分析

三、实验原理、代码、结果、分析

(1)哈夫曼编码

  • 原理:η

哈夫曼编码是一种无损编码,依据信源符号出现的概率来构造其码字,对出现概率大的字符使用较短的码字,对出现概率低的字符则使用较长的码字,从而达到压缩数据的目的,哈夫曼编码又称为最佳编码。

编码的基本步骤:

  1. 统计信源字符中各符号出现的概率,将各字符出现的概率由大到小的顺序排列;
  2. 将最小的两个概率相加,合并成新的概率,与其他概率重新按由大到小的顺序排列;
  3. 重新排列后将两个最小概率合并相加合并为新的概率,即重复步骤b),直到最后两个概率之和为1;
  4. 将每个相加的组合中,概率大的指定为0,概率小的指定为1,相等则任意指定
  5. 找出由每一个信源字符到达概率为1.0处的路径,顺序记录路径的每一个1和0的数字编码
  6. 反向写出编码,即为该信源字符的哈夫曼编码
  • 代码:

HuffmanCode.m:

I=imread('lena.jpg');

Gray=rgb2gray(I);

[zipped,info]=huffencode(Gray);%调用哈夫曼编码程序进行压缩

unzipped=huffdecode(zipped,info);%调用哈夫曼解码程序进行解码

disp('平均码长');L=info.avalen

disp('压缩比');CR=info.ratio

disp('信息熵');H=info.h

disp('编码效率');CE=info.ce

subplot(131);imshow(Source);title('原始图

  • 6
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小太阳zzzzz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值