1

根据 doxygen 文档(http://www.openjpeg.org/doxygen/structopj__image__comp.html), opj_image_comp 结构包含两个让我感到困惑的字段:

  • 上一个:精度
  • bpp:以位为单位的图像深度

仅基于此信息,我会假设具有 8 位像素 (0-255) 的图像的 bpp=8。但是,当我解压缩一些库存的 8 位单声道 .j2k 文件时,我发现 prec=8 和 bpp=0。

那么,prec 和 bpp 究竟包含什么?

如果这对答案有任何影响,我正在使用 OpenJPEG v2.3。

非常感谢。

4

2 回答 2

1

我设法通过更多挖掘找到了更多信息。

prec 字段包含用于编码图像的位数。这对应于图像和平铺大小 (SIZ) 标记段中 Ssiz 字段的低 7 位。

我还没有弄清楚 OpenJPEG 结构 opj_image_comp_t 中的 bpp 字段实际包含什么。

于 2021-02-27T17:23:10.733 回答
0

bpp是一个冗余字段,不应使用。为了鼓励这一点,作者最近弃用了它,他说:

bpp 与 prec 是多余的,并且几乎从未由库设置,除了 opj_image_create()。希望此更改不会影响 API 的现有工作用户,这些用户应该已经使用 prec 来让事情正常工作。

根据问题,prec是每通道位深度。因此,对于无符号通道,有效值将在 [0, 2 prec -1] 中。

于 2021-10-21T15:21:29.117 回答