图像压缩代码实现_opencv图像分析与处理(16)- 图像压缩中的编码方法:LZW编码

“ 本节为 opencv数字图像处理(15): 图像压缩的第二小节, 图像压缩中的编码方法:LZW编码,主要包括:LZW编解码实例与 实现代码

LZW编码目的在于消除图像中的空间冗余,是一种无误差的压缩方法,其将定长码字分配给边长新源符号序列。考虑一个大小为

的8比特垂直边缘图像:

397d905aee169d37e5460c57ae742205.png

假设有一个大小为512字带有0-255灰度值一一映射的字典,位置256到511开始时未使用。图像按从左到右、从上到下处理像素的方法来编码,十六个像素的编码过程如下表所示:

3ecd44d99a66a4c6270d87f58d2d09d9.png

也就是说上面的十六个像素39 39 126 126 39 39 126 126 39 39 126 126 39 39 126 126被编码为39 39 126 126 256 258 260 259 257 126,最终字典新增加了9条规则。 LZW解码比编码复杂,考虑上面的问题我们有编码序列39 39 126 126 256 258 260 259 257 126,字典只有原始的没有更新规则前的,即大小为512字带有0-255灰度值一一映射的字典,位置256到511未使用。解码步骤如下:

28e2421acb6b85daf82bb5125c9391bc.png

另外,在多数实际应用中,需要处理字典溢出的策略,最简单的方法就是字典已满时刷新或重新初始化该字典,并使用一个新初始化后的字典继续编码。较为复杂的策略可以是监控压缩性能,性能低下时刷新字典,需要时,可以跟踪并替换使用最少的字典词条。

欢迎扫描二维码关注微信公众号 深度学习与数学 [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]

a9e5f4b37cfd918db2c9ea836a259299.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值