多媒体技术与应用之图像Huffman编解码

多媒体技术与应用之图像Huffman编解码
一、实验内容
1.了解BMP图像的格式,实现BMP图片格式的数据域及文件头的分离
2.熟悉Huffman编码原理
3.使用Huffman编码算法对给定图像文件进行编码和解码
二、Huffman编码简介
基于图像统计特征的变长编码方法概率小的符号用较长的码字表示,概率大的符号用较短的码字表示。如图2.1.1所示:
图2.1.1
位图BMP文件格式,如图2.1.2所示:
图2.1.2
三、算法流程图
1.主函数流程图:
在这里插入图片描述
2.编码流程图:
在这里插入图片描述
3.解码流程图:
在这里插入图片描述
四、实验结果与分析
1.实验结果
在这里插入图片描述
2.编解码结果:
平均码长 L = 7.4682 压缩比 CR = 1.0712
信息熵 H = 7.4455 编码效率 CE = 0.9970
3.结果分析:
huffman码不仅适用于图像文件,经过符号合并后也可以用于二进制文件和文本文件。但视界应用中还存在以下的不足:输入数据数受限于可实现的huffman表尺寸;译码较为复杂;需要知道输入数据的频率分布。此外,由于码长不等,还存在一个输入与输出的速率匹配问题,其解决的办法是设置一定容量的缓冲寄存器。而其算法的突出优点是压缩以后的图像没有失真,压缩后的单元像素最接近图像的实际熵值,因此相对于其他乌石镇压缩算法来说,它的压缩比应该是最高的。
从编解码结果可以看出,本次编程结果比较成功,结果符合实际情况,原图和编解码后得到的图像几乎完全相同。
本次试验的关键点有三个,第一个为编码,如何实现huffman树的构建,第二个为如何储存压缩矩阵,因为matlab中没有以字节为单位存储,因而必需提出解决办法,尽量减少压缩矩阵的存储空间,否则压缩和没有压缩相同。第三个为解码,如何从压缩矩阵中还原出原来的huffman编码,同时通过编码还原灰度图像。当完成好这三点,本次试验就会实现的比较成功了。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值