【问题标题】:JPG Processing steps compression DecompressionJPG 处理步骤 压缩 解压
【发布时间】:2016-12-22 16:06:51
【问题描述】:

我需要您的支持来帮助我完成压缩\解压缩 JPG 图像的处理步骤。

我已经完成了以下步骤:

1- 将图像从 RGB 范围转换为 YCbCr...

2- 将图像分割成 8X8 块。

3- 每个像素减去 128。

4- 在每个块上应用 FDCT。

5- 在每个块上应用 ZegZag。

6- 应用 RLC 就可以了...

这里的问题: 下一步是什么? 拆分后如何组合块? 任何源代码或任何东西???

谢谢... :)

【问题讨论】:

标签: c# image-processing jpeg


【解决方案1】:

1- 将图像从 RGB 范围转换为 YCbCr...

然后是二次抽样

2- 将图像分割成 8X8 块。

除非您将二次抽样作为此步骤的一部分

3- 每个像素减去 128。

4- 在每个块上应用 FDCT。

那你必须做量化。

5- 在每个块上应用 ZegZag。

6- 在其上应用 RLC...

实际上,5 和 6 是相同的步骤。如果您想要优化霍夫曼代码,您必须在此处进行两次传递。 Pass 1 获取计数,Pass 2 进行霍夫曼编码。然后,您将在生成霍夫曼表之间进行额外的步骤。

您将 RLE MCU 写入输出流。您可能需要插入重新启动标记。

所有这些都假设您使用的是顺序 JPEG。

【讨论】:

    【解决方案2】:

    每个 8 x 8 块中的第一个代码是 Dc 项,并使用不同的哈夫曼表。第一个 dc 项在添加到下一个块时必须保存。 还必须量化 8 x 8 块,即简单地乘以 8 x 8 常数块。量化表存储在压缩的 Jpeg 文件中。 有一个独立 Jpeg 组的免费库,提供源代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-14
      • 2012-03-09
      • 1970-01-01
      • 2020-03-05
      • 2019-01-29
      相关资源
      最近更新 更多