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

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

  这种编码目的在于消除图像中的空间冗余,是一种无误差的压缩方法,其将定长码字分配给边长新源符号序列。考虑一个大小为 4 × 4 4\times 4 4×4的8比特垂直边缘图像:
opencv图像分析与处理(16)- 图像压缩中的编码方法:LZW编码_第1张图片
  假设有一个大小为512字带有0-255灰度值一一映射的字典,位置256到511开始时未使用。图像按从左到右、从上到下处理像素的方法来编码,十六个像素的编码过程如下表所示:
opencv图像分析与处理(16)- 图像压缩中的编码方法:LZW编码_第2张图片
  也就是说上面的十六个像素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未使用。解码步骤如下:
opencv图像分析与处理(16)- 图像压缩中的编码方法:LZW编码_第3张图片
  另外,在多数实际应用中,需要处理字典溢出的策略,最简单的方法就是字典已满时刷新或重新初始化该字典,并使用一个新初始化后的字典继续编码。较为复杂的策略可以是监控压缩性能,性能低下时刷新字典,需要时,可以跟踪并替换使用最少的字典词条。


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

你可能感兴趣的:(数字图像处理,opencv)