数字图像处理-学习笔记-图像压缩
数字图像处理-学习笔记-图像压缩
6.11 图像压缩
图像压缩基础知识
首先
数据 \(\neq\) 信息
数据是信息的载体。
当我们打电话时,电话对面的人和你交流,我们通过电话传输的是电波,是数据,而对面听到的是你说的话,属于信息。
图像压缩就是对数据进行压缩。
图像压缩很有必要
可行性
改变图像的描述方式可以变更存储空间。
比如我们可以对原来8个红色的像素表示成
8 * R
,也就是说,原来我们要用八个格子装红色像素的数据,现在只要两个格子。
上面的例子也就是我们所说的:
图像像素存在着大量冗余。
当然图像视觉感知也存在冗余——也就是我们人眼对于微小的颜色变化是没有感知的,可以把他们用刚刚的方法缩小存储空间。
人眼会忽略微小差距
6.12 冗余分析
冗余分类
- 空间冗余
- 时间冗余
- 统计冗余
- 视觉心理冗余
对于空间冗余
相邻像素之间存在相关性
相应帧之间相关性也很大
- 去除冗余的方法:预测、变换
对于统计冗余
- 信息熵
- 信息量
- 熵是平均信息量
- 信息量公式:\(I(x_n)=-log_i(P_n)\)
- 如果以2为底,单位是:比特
- 如果以\(e\)为底,单位是:奈特
- 如果以\(10\)为底,单位是哈特
- 信息量怎么解释:
- 你出现的概率越小,你越不寻常,信息量也就更大;
- 你出现的概率越大,你越平凡寻常,信息量也就越小。
- 等概率的熵最大
- 但是我们图片的信息熵不是等概率分布的
- 所以可以采用一些方法来减少视觉系统的冗余
- 量化(IGS)
- 编码方式
原始图像->去相关–>量化–>熵编码
解码–>>熵解码–>>解相关
- 去相关技术
- 基于预测
- 基于矢量量化
- 基于变换
- 基于子带变换
- 信息熵编码/统计编码:
利用图像灰度分布统计特性
均匀的特点,采用不等字长进行编码。
图像压缩的分类
- 无损压缩-可逆
- 有损压缩-不可逆
常见的图片格式:
- \1. JPEG (或 JPG):广泛用于照片和网页图像,支持有损压缩,可以减小文件大小。
- \2. PNG:支持透明背景,无损压缩,常用于网页设计和图标。
- \3. GIF :支持动画和透明背景,但颜色限制较多(最多256色),常用于简单动画和图标。
- \4. BMP:位图格式,通常不进行压缩,因此文件较大,常用于Windows操作系统。
- \5. TIFF:主要用于专业图像存储,支持无损压缩和多种颜色深度,常用于印刷行业。
- \6. RAW:相机原始数据格式,未经处理的图像文件,保留了拍摄时的全部信息,适合后期编辑。
- \7. SVG :矢量图像格式,适合图形设计,可以无限放大而不失真。
- \8. WebP:由Google开发,旨在提供比JPEG更好的压缩,支持有损和无损压缩,以及动画和透明度。
实验
用python进行实验
代码
1 |
|
实验效果图
原图
保存后的的jpg格式图片
和原图相减后
效果分析
可以看出,保存后的结果和原图的差别不大。
当我们进行想减,在显示原图后的结果,可以明显看出差别。
图像信息丰富的地方失去了一些细节,但是我们的视觉感知不大;
而图像复杂度低的地方损失的像素不是很多。
总结
本次实验总结了图像压缩的方法、分类,还提出了一些图片保存的格式,以及通过实验来验证了会有损压缩图片的像素,对未来图片的加密、图片处理来说,可能会造成复原噪点、图像损失。
但是图像压缩对于网站来说是很有必要的,可以加快网站对图片的加载速度。
数字图像处理-学习笔记-图像压缩
https://yelelalearn.github.io/2024/04/12/数字图像处理-学习笔记-图像压缩/