C++ 使用16位灰度图像的jpeglib

C++ 使用16位灰度图像的jpeglib,c++,compression,jpeg,C++,Compression,Jpeg,我正在尝试使用jpeglib进行有损16位灰度压缩。处理真实的16位图片对我来说很重要,因为压缩后的图片是用于医疗用途的 是否可以使用一个颜色空间进行16位压缩 如果是: 要做到这一点,需要进行哪些更改?原始JPEG标准仅支持8或12位/采样的有损压缩,支持2到16位/采样的无损压缩。因此,简短的回答是否定的,不可能通过有损JPEG压缩获得16位/样本 IJG-JPEG库只支持有损压缩,因此即使切换到无损压缩也不够。你也必须使用不同的库 IJG JPEG库确实支持12位/样本,但前提是您编译了它

我正在尝试使用jpeglib进行有损16位灰度压缩。处理真实的16位图片对我来说很重要,因为压缩后的图片是用于医疗用途的

是否可以使用一个颜色空间进行16位压缩

如果是:
要做到这一点,需要进行哪些更改?

原始JPEG标准仅支持8或12位/采样的有损压缩,支持2到16位/采样的无损压缩。因此,简短的回答是否定的,不可能通过有损JPEG压缩获得16位/样本

IJG-JPEG库只支持有损压缩,因此即使切换到无损压缩也不够。你也必须使用不同的库

IJG JPEG库确实支持12位/样本,但前提是您编译了它的特殊版本。请参阅install.txt/install.doc文件


有一个称为JPEG-HDR的准标准JPEG扩展,可以(ab)用于支持更大的位深度,但我不知道它是否可以支持16位/采样,而且它可能不是一个好的解决方案。

问题是什么?同时考虑不要这样做。当应用有损压缩时,医学图像的诊断价值可能会降低。由于这个原因,医学图像通常以无损格式存储。祝贺你。听起来像你说的那样,它可以正常工作。@teroi:JPEG2000至少有一个无损模式。那么我建议OP使用它。@JoeZ:我知道,无损模式可能用于医学图像。然而,问题是关于有损压缩的。