图像压缩介绍

概念

图像压缩是图像编码的一种典型用途。数据压缩的对象是数据,大的数据量并不代表含有大的信息量。图像压缩就是除去图像中多余的数据而对信息没有本质的影响。

目的

图像编码压缩的主要目的是用尽可能少的bits去表示一副图像,于此同时,图像的质量和信息得以保留。减少数据量的基本原理是除去其中多余的数据。

  • 冗余(redundancy)

    • 空间冗余(Spatial redundancy):图像中相邻像素间的相关性引起的。
    • 时间冗余(Time redundancy):图像序列中不同帧之间存在相关性引起的。
    • 频谱冗余(Spectrum redundancy):不同彩色平面或频谱带的相关性引起的。

图像压缩步骤

图像压缩基本按照以下流程进行:
输入图像/视频 -> 变换 -> 量化 -> 符号编码 -> 存储/传输 -> 符号解码 -> 反变换 -> 图像/视频

量化(Quantization)

  • 概念:量化是压缩的主要图像,主要也是它引入误差的。JPEG通过各种除法来进行量化,不过对于不同重要程度的信息,它所除的数的大小会有所不同。
  • 模拟与数字:
    数字图像出来的图像空间上和数值上都是离散的
    模拟图像出来的图像空间上和数值上都是连续的
  • 目的:
    提取有用的信息,忽略细节,排除无关信息。

分类

  1. 按照压缩方法是否丢失信息
  • 无损压缩:解压以后的数据和原始数据完全一致。解压后得到的数据是原数据的复制,是一种可逆压缩。
  • 有损压缩:解压以后的数据和原始数据不完全一致,是不可逆压缩方式。
  1. 按照压缩方法的原理分类
  • 预测编码
    基本思想是利用已被编码的点的数据值,预测邻近的一个像素点的数据值
  • 变换编码
    基本思想是将图像的光强矩阵变换到系数空间上,然后对系数进行编码压缩
  • 统计编码
    根据信息出现概率的分布特性而进行的压缩编码。

应用

  • 减少信道传输时所需的带宽:TV,HDTV,UHDTV,手机
  • 减少存储时所需的存储空间:大的影响,图形数据库,医疗图像

方法

无损压缩

  • 消除编码冗余: 哈夫曼编码和算术编码。
  • 消除像素间冗余:LZW编码,位平面编码,行程编码和无损预测编码。

有损压缩

  • 变换编码:K.L变换,Haar变换,Walsh.Hadamard变换,离散余弦变换,离散傅里叶变换 和 小波变换。
  • 有损预测编码。

压缩标准

  • JPEG静态图像压缩标准是广泛使用的照片存储格式
  • JPEG 2000新一代静态 图像压缩标准,是基于小波变换的图像压缩标准,可以获得比JPEG更大的压缩比。

常见压缩编码

变换(Transform)编码

  • 概念:对原图像进行变换,使之更容易被压缩。(比如Fourier transform)。
  • 目的:
    降低空间和时间冗余。
  • 常用的变换编码:KLT,DCT,DFT,Wavelet Transform
    通常使用DCT,不使用KLT的原因:
    1.Signal independeng
    2.Easily find fast algorithm

预测(Prediction)编码

  • 概念:通过消除紧邻像素在空间上时间上的冗余来表现。
  • 分类:Inter frame, Intra frame

符号编码(Symbol Coding)

  • 目的:生成定长编码或变成编码。最小化编码冗余。
    JPEG使用常见的哈夫曼(Huffman)编码。
  • 哈夫曼编码(Huffman Coding):
    是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。信源符号出现频率越高,使用的码字就越少。是一种一致性编码法(又称“熵编码法”),用于数据的无损耗压缩。
  • 熵(entropy):反映了图像中平均信息量的多少

数字图像处理-图像压缩相关推荐

  1. 数字图像处理- 图像压缩

    目的:编程对图像进行线性预测编码处理. 要求:能够编程实现对图像进行压缩处理. 根据图1中二阶线性预测编码原理的示意图,图中a1=1,a2= -1,编写线性预测编码代码对一幅灰度图像进行压缩. 图1 ...

  2. 数字图像处理第八章——图像压缩

    数字图像处理第八章 数字图像处理---图像压缩 (一) 背景 (二) 编码冗余 2.1 霍夫曼码 2.2 霍夫曼编码 2.3 霍夫曼译码 (三)空间冗余 (四)不相关的信息 (五)JPEG 压缩 5. ...

  3. 数字图像处理实验之图像压缩

    数字图像处理_图像压缩(霍夫曼编解码) 1. 实验目的 2. 实验流程 2.1 图像熵的计算 2.2 霍夫曼编码流程 2.3 霍夫曼编码函数 2.4 霍夫曼解码流程 3. 实验代码 3.1 计算图像熵 ...

  4. 【计算机视觉】数字图像处理(六)—— 图像压缩

    数字图像处理(六)-- 图像压缩 一.图像压缩概述 (一).图像编码技术的研究背景 1. 信息信息传输方式发生了很大的改变 2. 图像传输与存储需要的信息量空间 (1)彩色视频信息 (2)传真数据 3 ...

  5. 数字图像处理——第七章 小波和多分辨处理

    数字图像处理--第七章 小波和多分辨率处理 文章目录 数字图像处理--第七章 小波和多分辨率处理 写在前面 1 多分辨率处理 1.1 图像金字塔 1.2 多尺度和多分辨率的区别 2 小波 2.1 连续 ...

  6. 数字图像处理必备基本知识

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|新机器视觉 基础知识 1.数字图像: 数字图像,又称为数码 ...

  7. 结合实例与代码谈数字图像处理都研究什么?

    图像处理(以及机器视觉)在学校里是一个很大的研究方向,很多研究生.博士生都在导师的带领下从事着这方面的研究.另外,就工作而言,也确实有很多这方面的岗位和机会虚位以待.而且这种情势也越来越凸显.那么图像 ...

  8. 基matlab的水果识别的应用,基于MATLAB的水果识别的数字图像处理

    基于MATLAB的水果识别的数字图像处理 图像处理 ( 报告 ) 题目 基于 MATLAB 的 水果识别的数字图像处理 指导教师 职称 教授 学生姓名 学号 专 业 院(系) 完成时间 2016 年 ...

  9. 数字图像处理目录列表

    具体知识会在合适的时间补充完整 1 基础知识 1)  数字图像处理基本知识 2)  数字图像处理的三个层次 3)  数字图像处理的基本原理和常用方法 4)  图像的表示和可视化 5)  图像取样和量化 ...

最新文章

  1. pandas使用sort_values函数和groupby函数获取每个分组数值最小的前N行数据(n rows with smallest column value in each group)
  2. oracle修改memory,Oracle 修改 MEMORY_TARGET
  3. JavaScript 的 Promise  和  C# 的 waitone 一样吗?请大家讨论i两句。
  4. LeetCode (二分小专题)33搜索旋转排序数组34在排序数组中查找元素的第一个和最后一个位置35搜索插入位置
  5. 一个稍微复杂的VTK程序
  6. C++普通引用和常引用
  7. 计算机bq,BQ24721部分翻译
  8. JAX-RS Bean验证错误消息国际化
  9. 循环双链表的手动构建总结
  10. 贪心【CF1029E】Tree with Small Distances
  11. c语言api_C语言现在好找工作吗?我开始学了这么久的C语言,应该怎么办?
  12. java 分布式 重复提交_Java接口防重复提交
  13. Algorithms(forth edition),算法(第四版) algs4.jar 与 algs4-data.zip 网盘下载
  14. php实现根据身份证获取年龄的函数
  15. Universally Slimmable Networks and Improved Training Techniques
  16. 【接口篇 / Lan】(5.4) ❀ 02. 与交换机连接 (回程路由) ❀ FortiGate 防火墙
  17. Java、JSP反垃圾邮件管理系统
  18. 深度学习基础理论(学习中持续更新)
  19. 新法将赋予FBI无需法院命令也能阅读公民邮件的权力
  20. Java类型转换的细节

热门文章

  1. c++图形库编写点灯小游戏
  2. 7.01 计算平均值
  3. 360区块链游戏,烯晶部落今日内测!
  4. 微信视频号盈利方向:零成本社群营销做暴利培训赚钱
  5. 主线程和子线程的区别,线程之间的通信
  6. 常见jquery面试题20道
  7. 字符串转换成json对象的方式
  8. HTML的a标签href属性指定相对路径与绝对路径的用法讲解
  9. 万泽云库:新用户虚拟资源收入
  10. Android APT