JPEG 压缩简介
在我们上一篇关于图像压缩的教程中,我们讨论了一些用于压缩的技术
我们将讨论 JPEG 压缩,这是一种有损压缩,因为最终会丢失一些数据。
我们先讨论一下什么是图像压缩。
图像压缩
图像压缩是对数字图像进行数据压缩的方法。
图像压缩的主要目的是:
- 以高效形式存储数据
- 以高效形式传输数据
图像压缩可以是有损的,也可以是无损的。
JPEG 压缩
JPEG 代表联合图像专家组。它是第一个图像压缩的国际标准。它如今被广泛使用。它可以是有损的,也可以是无损的。但是我们今天要讨论的技术是有损压缩技术。
jpeg 压缩的工作原理
第一步是将图像分成块,每个块的尺寸为 8 x8。

我们来记录一下,假设这个 8x8 图像包含以下值。

现在像素强度的范围是 0 到 255。我们将范围从 -128 更改为 127。
从每个像素值中减去 128 会得到从 -128 到 127 的像素值。从每个像素值中减去 128 后,我们得到了以下结果。

现在我们将使用此公式进行计算。

由此得出的结果存储在 A(j,k) 矩阵中。
有一个用于计算 JPEG 压缩的标准矩阵,它由称为亮度矩阵的矩阵给出。
此矩阵如下所示

应用以下公式

应用后我们得到了此结果。

现在我们将执行 JPEG 压缩中的真正技巧,即 ZIG-ZAG 移动。上述矩阵的之字形序列如下所示。您必须执行之字形,直到找到前面的所有零。因此我们的图像现在被压缩了。

总结 JPEG 压缩
第一步是将图像转换为 Y'CbCr,只需选择 Y' 通道并分成 8 x 8 块。然后从第一个块开始,映射从 -128 到 127 的范围。之后,您必须找到矩阵的离散傅里叶变换。结果应该被量化。最后一步是以之字形方式应用编码,直到找到全部为零为止。
保存这个一维数组,您就完成了。
注意。您必须对所有 8 x 8 块重复此过程。