我正在做一些与图像压缩相关的项目,我需要一种方法来保存 JPEG 压缩中丢失的数据(例如每像素位数......)。我想我需要为此构建一个自定义 libjpeg。感谢有关该主题的任何建议/帮助(甚至可能是有关修改源代码中哪些部分的指导)。
提前致谢!
编辑:为了澄清自己,我并不是在考虑嵌入隐藏信息。我正在寻找一种方法来消除 JPEG 压缩期间丢失的数据。我也同意重新压缩 JPEG 图像(从 90 到 80)而丢失数据。
最佳答案
如果您需要将私有(private)数据嵌入到 JPEG 比特流中,您可能需要利用 APPn 标记。他们有一些伟大的事情:
- 图像仍然可读并且与现有软件兼容
- 格式非常简单,因此您可以完整保留 libjpeg 或您喜欢的另一个
JPEG
库,并直接添加/读取修改比特流的数据
JPEG File Interchange Format正在使用 APP0
和 APP1
,您可以阅读详细信息,并且还有更多可用标记,例如 APP2
,您可以将其用于您的目的。
关于c - 获取 JPEG 冗余数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7862655/