图像编码冗余与哈夫曼编码的深入解析
在图像处理领域,编码冗余是一个常见的问题,它会导致图像占用过多的存储空间。为了解决这个问题,哈夫曼编码(Huffman Codes)应运而生。本文将深入探讨编码冗余的概念,并详细介绍哈夫曼编码的原理、实现方法以及如何利用它进行图像压缩。
1. 编码冗余的概念与示例
1.1 图像熵的计算示例
首先,我们来看一个简单的 4x4 图像的例子。通过以下命令行序列可以生成这样的图像,并计算其熵的一阶估计值:
f = [119 123 168 119; 123 119 168 168];
f = [f; 119 119 107 119; 107 107 119 119];
p = hist(f(:), 8);
p = p / sum(p);
h = entropy(f);
运行上述代码后,我们得到概率向量 p 为 [0.1875 0.5 0.125 0 0 0 0 0.1875] ,熵 h 为 1.7806 。表 9.1 中的代码 2,其平均长度 L_avg = 1.81 ,接近这个一阶熵估计值,是图像 f 的最小长度二进制代码。需要注意的是,灰度级 107 对应表 9.1 中的 r1 和二进制码字 011 ,119 对应 r2 和代码 1
超级会员免费看
订阅专栏 解锁全文
2620

被折叠的 条评论
为什么被折叠?



