上一篇:数字图像处理考点分析(五) 介绍了图像的形态学处理方法,这一篇我们介绍图像压缩!

文章目录

  • 图像压缩
    • 1.概念
    • 2. 无损压缩技术
      • 2.1 一些基本概念
      • 2.2 Huffman编码
      • 2.3 香农编码法(Fano-Shannon)
      • 2.4算术编码

图像压缩

1.概念

是什么?

图像压缩:减少表示数字图像所需要的数据量。

为什么图像可以压缩?

  • 图像像素之间、⾏之间、帧之间有较 强的相关性
  • 从统计的观点,某点像素的灰度与其 邻域灰度有密切关系
  • 从信息论关系,减少图像信息中冗余 信息
  • 图像数据之所以能被压缩,就是因为数据中存在着冗余,数据压缩的目的就是通过去除这些数据冗余来减少表示数据所需的比特数。

三种数据冗余类型:

    1、编码冗余:(编码是用于表示信息实体或事件集合的符号系统(字母、数字、比特和类似的符号等)。每个信息或事件被赋予一个编码符号的序列,称之为码字。每个码字中的符号数量就是该码字的长度。在多数二维灰度阵列中,用于表示灰度的8比特编码所包含的比特数要比表示该灰度所需要的比特数多。     如果编码的码字数大于最佳编码的码字数则就会产生编码冗余2、空间和时间冗余:因为多数二维灰度阵列的像素是空间相关的(即每一个像素类似于或取决于相邻像素),在相关像素的表示中,信息被没有必要地重复了.在视频序列中,时间相关的像素(即类似于或取决于相邻帧中的那些像素)也是重复的信息。3、不相关的信息:多数二维灰度阵列中包含有一些被人类视觉系统忽略或与用途无关的信息。从没有被利用的意义上看,它是冗余的。

图像压缩有什么用?

  • 节省图像存储容量
  • 减少传输信道容量
  • 缩短图像加⼯处理时

压缩编码可分为两大类:

  • 无损压缩编码

    又称为可逆编码(reversible coding),这种方法的目标是在图像没有任何失真的前提下使码率达到最小。

    要求编码—解码过程中 能够⽆误差的重建图像。如在医学图像应⽤中。

  • 有损压缩编码

    又称不可逆压缩(non-reversible coding),这种方法的目标是在给定码率下使图像获得最逼真的视觉效果,或者是在给定的允许图像失真度的条件下使码率到达最小。

    常⽤在图像的信宿为⼈ 眼的应⽤中,如数字电视、可视电话等。

    特征抽取编码也是一种有损编码,常⽤在图像的信宿为计算机 的应⽤中,这是只需要保留计算机处理的信息 特征。如图像识别。

2. 无损压缩技术

2.1 一些基本概念

熵编码

首先,的概念很早就有,在物理学,热力学中早有应用。

后来信息论中,Shannon他老人家发明了信息熵

公式如下,它代表了信源S的熵:

单位:Bit/字符

**那信息熵到底是什么呢?**它是信息量的度量单位。它的实际意义有两个:

① 信源S的平均信息量

②编码所有符号S平均所需要的位数

为什么要编码? 编码的一个重要目的是压缩 (当然还有其他目的,比如加密)。举个例子就是把100MB的原始数据,压缩成10MB的数据,这个过程就需要编码。

**那么怎么编码才能不失真呢?**就是说解码后可以完全恢复原始数据。用信息熵来计算数据压缩的理论极限呀!

**那什么是熵编码?**在信息熵的极限范围内进行编码就是熵编码。例如信息熵算出来是3bit/字符,你用4bit/字符来编码,就是熵编码,你用2bit/字符来编码,就不叫熵编码,因为这种情况下,就失真了嘛。

从这里也看以看出,信源熵是编码这个信源平均所需要的最小位数。

所以,熵编码是无损压缩。

熵编码有很多种:

  • 霍夫曼编码 (Huffman)

  • 算术编码

  • 行程编码 (RLE)

  • 基于上下文的自适应变长编码(CAVLC)

  • 基于上下文的自适应二进制算术编码(CABAC)

2.2 Huffman编码

Huffman 压缩编码步骤:

Step1: 把概率按大小从上到下排序;

Step2: 把最下面两个概率相加,再重新排序;

Step3: 重复Step2: ,直到只有两个概率为止;

Step4: 从右向左开始编码。每遇到分叉则在后补位;上叉补0, 下叉补1。(根据题意来看,也有可能是上叉补1,下叉补0)

举例:

计算信息熵H和平均编码长度R:

Huffman编码的特点

  • Huffman编码是唯⼀可译码。短的码 不会成为更⻓码的启始部分;
  • Huffman编码的平均码⻓接近于熵;
  • 缺点:与计算机的数据结构不匹配;
  • 缺点:需要多次排序,耗费时间
2.3 香农编码法(Fano-Shannon)

香农编码法步骤

举例:同上题

香农编码的特点

  • Fano-Shannon编码是唯⼀可译码。短 的码不会成为更⻓码的启始部分;
  • Fano-Shannon编码的平均码⻓接近于 熵;编码效率略低于Huffman编码。
2.4算术编码

思想

  • 将被编码的信源消息表示成0~1之间的一个间隔,即小数区间,消息越长,编码表示他的间隔就越小

  • 以小数表示间隔,表示的间隔越小所需的二进制位数就越多,码字就越长。反之,间隔越大,码字就短

两种模式

  • 基于信源概率统计特性的固定编码模式

  • 针对未知信源概率模型的自适应模式

方法

①新子区间的起始位置=前子区间的起始位置+当前符号的区间左端*前子区间长度

②新子区间的结束位置=前子区间的起始位置+当前符号的区间右端*前子区间长度

③将最后的区间化为二进制,去0,把相同部分取出再在末尾加1,即为该数据序列的算术编码

特点

  • 算术编码是信息保持型编码,他不像哈夫曼编码,无需为一个符号设定一个码字

  • 自适应算术编码的方式,无需先定义概率模型,适合于无法知道信源字符概率分布的情况

  • 实现算数编码算法的硬件比哈夫曼编码复杂

举例

一个四符号信源的五符号序列或消息a1,a2,a3,a3,a4进行编码。如下表所示,该区间开始时根据每个信源符号出现的概率被分为4个区域

在编码处理的开始,假设消息占据整个半开区间【0.1)。例如:

符号 a1与子区间【O.0.2)相联系。因为它是被编码的消息的第一个符号,所以该消息间隔开始时被缩窄为【0,0.2)。这样,在下图中,区间【0,0.2)就被扩展到该图形的全高度,且其端点用该窄区间的值来标注。

然后,这个缩窄的区间根据原始信源符号的概率进行细分,并继续对下一个消息符号进行这种处理。采用这种方式,符号 a2将该子区间变窄为【0.04,0.08)。

符号a3进一步将该子区间变窄为【0.056,0.072),依次类推。

必须保留最后的消息符号,以作为特定的消息结束指示符,它将子区间变窄为【0.06752,0.0688)。当然,在这个子区间内的任何数字(如 0.068)都可以用来表示该消息。

感谢CSDN博主【萌萌小刀剑】 的优质文章《数字图像处理》题库5:计算题 ②,使我受益匪浅!

下一篇:数字图像处理考点分析(七) 我们来介绍图像分割技术!

数字图像处理考点分析(六)相关推荐

  1. 数字图像处理考点分析(一)

    数字图像的基本概念 文章目录 数字图像的基本概念 数字图像处理基础 图像的采样和量化 数字图像的格式 数字图像的质量 像素间的基本关系 彩色基础 Q: 什么是图像? 定义为一个二维函数f(x,y),其 ...

  2. 数字图像处理学习笔记 六 彩色图像处理

    目录 (一)彩色模型介绍 1.1 RGB模型 1.2 CMY.CMYK模型 1.3 HSI彩色模型 1.4 HSV模型 1.5 YCbCr 彩色空间 (二)伪彩色图像处理 (三)全彩色图像处理及彩色变 ...

  3. 《数字图像处理与分析》结课作业去雾报告

    原创作品,出自 "晓风残月xj" 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/xiaofengcanyuexj). 由于各种原因,可能存在诸多不 ...

  4. 【数字图像处理笔记(六)】之空间滤波详细分析

    本文章由公号[开发小鸽]发布!欢迎关注!!! 老规矩–妹妹镇楼: 空间滤波的原理之前已经讲过了,包括卷积,相关的概念,包括线性空间滤波器和非线性空间滤波器. 这里来谈谈具体的空间滤波器 一.平滑空间滤 ...

  5. 数字图像处理:实验六 图像分割

    实验六 图像分割 数据分割是由图像处理到图像分析的关键步骤,是图像识别和计算机视觉至关重要的预处理,图像分割后提取的目标可用于图像识别.特征提取,图像搜索等领域.图像分割的基本策略主要是基于图像灰度值 ...

  6. 数字图像处理:第六章 几何运算

    第六章 几何运算 目录 引言 灰度级插值 空间变换 3.1 仿射变换 3.2 透视变换 几何校正 图象卷绕(Image Warping) 图象变形(Image Morphing) 作业 1.引言 几何 ...

  7. 数字图像处理实验(六)|图像分割{阈值分割、直方图法、OTUS最大类间方差法(edge、im2dw、imfilter、imresize)、迭代阈值法、点检测}(附matlab实验代码和截图)

    文章目录 一.实验目的 二.实验原理 (一) 阈值分割 1. 直方图法 2.OTSU法(最大类间方差法)确定阈值 3. 迭代阈值法 4. 点检测 (二)边缘检测 三.实验内容 (一)阈值分割 1. 直 ...

  8. 山东大学数字图像处理实验(六)

    文章目录 双边滤波 实验流程 流程介绍 结果展示 完整代码 双边滤波 实验流程 高斯滤波:计算权重时只考虑空间位置之差 双边滤波:计算权重时同时考虑空间位置和像素颜色之差 流程介绍 为图像加 padd ...

  9. 【遥感数字图像处理】基础知识:第一章 绪论

    第一章   绪 论 ◆ 课程学习要求 主要教学内容:遥感数字图像处理的概念和基础知识,遥感数字图像的几何处理,遥感图像的辐射校正,遥感数字图像的增强处理,遥感图像的计算机分类,遥感数字图像的分析方法, ...

最新文章

  1. 关于浏览器兼容问题的解决办法,全部都在这里了
  2. html canvas抽奖,HTML5 Canvas圆盘抽奖应用(适用于Vue项目)
  3. Android 图片合成:添加蒙板效果 不规则相框 透明度渐变效果的实现
  4. 常见的HTTP Method深度解析
  5. JS学习记录(BOM部分)
  6. Flink的状态一致性
  7. RS232和RS485
  8. DOM对象转化成jQuery对象 $(参数) (能不能查到jQuery对象的所有方法)
  9. 《数学之美》—简单之美-布尔代数和搜索引擎
  10. ba网络c语言编程,如何用C语言程序构造随机网络和BA无尺度网络
  11. Newton形式的Hermite插值多项式
  12. 期末考试之排名次java_2020超星尔雅《JavaWeb应用开发》期末测试答案
  13. 蒸汽平台进dota2显示连接不上服务器,蒸汽平台dota2连不上服务器
  14. 进制转换C语言实现(十进制转换为任意进制)
  15. Codewars 刷题笔记(Python)6.Multiples of 3 or 5
  16. lwip 动态修改IP
  17. 网康NGFW下一代防火墙远程命令执行漏洞复现
  18. 大自然是最广阔的“感统训练室”,端午节带上孩子“趣”玩吧!
  19. 触摸板触摸屏禁止手指缩放,这么处理才行
  20. 【最新可用】Oracle官网下载Oracle 11g XE

热门文章

  1. 启动bochs时报错No bootable device
  2. JZOJ 4270 魔道研究
  3. Linux/include/uapi/linux/input.h
  4. JBPM阶段性工作总结
  5. php动图加水印,php+imagemagick给gif动态图片添加水印
  6. 微信公众号插入地图及地图搜索资源的前端处理(坐标系转码,自动定位等业务实现)
  7. python输入两个字符串连接起来_python字符串连接的多种方法
  8. python + uiautomator2编译平板语言工具并切换打包exe可执行文件
  9. 【MySQL】sql调优实战教学
  10. 爬楼梯-斐波那契数列