首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libjpeg和无损JPEG

libjpeg和无损JPEG
EN

Stack Overflow用户
提问于 2016-07-15 08:09:16
回答 1查看 2.9K关注 0票数 3

我有一个关于DICOM标准和libjpeg库的问题。在DICOM标准中,除其他外,转移语法:

JPEG无损、无层次、一阶预测(进程14选择值1):无损JPEG图像压缩的默认传输语法

据我所知,这种传输语法符合JPEG-1损失格式.我开始研究libjpeg库,发现它不支持(?)无损JPEG,如下所述:DICOM中的JPEG无损

此外,在libjpeg文档中有一部分说:

不支持的 ISO选项包括:*分层存储*无损JPEG * DNL标记*非整次采样比率

但是,在库代码中,在压缩参数结构jpeg_compress_struct中有一个字段:

代码语言:javascript
复制
boolean lossless;       /* TRUE=lossless encoding, FALSE=lossy */

一切都意味着什么?我真的很困惑。有人能描述库支持哪些JPEG标准吗?此外,如何设置参数以使压缩与DICOM JPEG无损标准兼容?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-21 06:30:34

让我们先做一些澄清。您应该从著名的JPEG 6b (又名62)发行版开始。从从这里读取代码开始。您会发现没有提到您的boolean lossless。libjpeg 6b是提供两个分叉的参考代码库:

  • Guido (IJG维护者):libjpeg 7及以上与著名的SmartScale扩展
  • dcommander libjpeg-turbo,特别是阅读来自这里的评论。

因此,如果这是您正在讨论的libjpeg,那么是的,它不支持标准中指定的无损模式。无损补丁是由创建的,您应该仍然能够找到它(例如。这里)。它应该直接适用于libjpeg 6b。如果您不想自己修补库,请快速查看GDCM和或DCMTK,因为它们都使用了libjpeg +著名的无损修补程序的方便副本(感谢DCMTK团队的进一步修补程序)。

在这一点上,这应该回答你的问题。

关于libjpeg (IJG)和libjpeg-turbo信息的更多细节,我建议您阅读以下信息:

如果您还在阅读,我希望您也可以快速查看另一个库(故意),也称为libjpeg,在github这里可以看到它。特别是查看README文件(这里)。您将发现,这个libjpeg是完全实现ITU-81(有损的、无损的、8/12/16位甚至分层的所有代码都在一个代码中,而不需要进行多个编译!)

为了完整起见,我发现以下链接非常有用:

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38391049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档