【发布时间】:2011-10-22 21:13:11
【问题描述】:
我正在做一些与图像压缩相关的项目,我需要一种方法来保存在 JPEG 压缩中丢失的数据(如每像素位数......)。我想我需要为此构建一个自定义 libjpeg。感谢有关该主题的任何建议/帮助(甚至可能指导修改源代码中的哪些部分)。
提前致谢!
编辑:为了澄清我自己,我不打算嵌入隐藏信息。我正在寻找一种在 JPEG 压缩期间丢失数据的方法。我也可以通过重新压缩 JPEG 图像(从 90 到 80)丢失数据。
【问题讨论】:
我正在做一些与图像压缩相关的项目,我需要一种方法来保存在 JPEG 压缩中丢失的数据(如每像素位数......)。我想我需要为此构建一个自定义 libjpeg。感谢有关该主题的任何建议/帮助(甚至可能指导修改源代码中的哪些部分)。
提前致谢!
编辑:为了澄清我自己,我不打算嵌入隐藏信息。我正在寻找一种在 JPEG 压缩期间丢失数据的方法。我也可以通过重新压缩 JPEG 图像(从 90 到 80)丢失数据。
【问题讨论】:
如果您需要将私有数据嵌入到 JPEG 比特流中,您可能需要利用 APPn 标记。它们的优点很少:
JPEG 库,直接添加/读取修改比特流的数据JPEG File Interchange Format 正在使用APP0 和APP1,您可以阅读详细信息,还有更多可用的标记,例如APP2,您可以将它们用于您的目的。
【讨论】:
在 jpeg 压缩中至少有四个步骤可能会丢失信息。我真不知道你在说什么。如果要测量丢失的信息,只需压缩/解压缩并与原始信息进行比较即可。
我猜您想将 RGB 编码为标准 JFIF,然后在颜色转换、二次采样中丢失信息,之后您必须进行 FDCT,我认为这不完全可逆,因此您在该步骤中丢失信息并且然后你有量化步骤。除非您有包含所有量化表的量化表,否则您也会在那里丢失信息。
总结一下:
【讨论】: