0

我正在做一些与图像压缩相关的项目,我需要一种方法来保存在 JPEG 压缩中丢失的数据(如每像素位数......)。我想我需要为此构建一个自定义 libjpeg。感谢有关该主题的任何建议/帮助(甚至可能指导修改源代码中的哪些部分)。

提前致谢!

编辑:为了澄清我自己,我不打算嵌入隐藏信息。我正在寻找一种在 JPEG 压缩期间丢失数据的方法。我也可以通过重新压缩 JPEG 图像(从 90 到 80)丢失数据。

4

2 回答 2

0

如果您需要将私有数据嵌入到 JPEG 比特流中,您可能需要利用 APPn 标记。他们有几件很棒的事情:

  • 图像仍然可读并且与那里的软件兼容
  • 格式很简单,因此您可以保留 libjpeg 或您喜欢的另一个JPEG库完整,并直接添加/读取修改比特流的数据

JPEG 文件交换格式正在使用APP0APP1,您可以阅读详细信息,并且还有更多可用的标记APP2,您可以将它们用于您的目的。

于 2011-10-22T21:34:26.990 回答
0

至少有四个步骤可以让您在 jpeg 压缩中丢失信息。我真不知道你在说什么。如果要测量丢失的信息,只需压缩/解压缩并与原始信息进行比较即可。

我猜你想将 RGB 编码为标准 JFIF,然后在颜色转换、二次采样中丢失信息,之后你必须进行 FDCT,我认为这不是完全可逆的,所以你在该步骤中丢失了信息然后你有量化步骤。除非您有包含所有量化表的量化表,否则您也会在那里丢失信息。

把它们加起来:

  1. 颜色转换
  2. 二次抽样
  3. FDCT/IDCT
  4. 量化
于 2011-10-23T07:03:45.770 回答