我正在尝试使用 LibTIFF 编写 10,12 位 RGB TIFF 文件。
像素数据本地保存在unsigned short
缓冲区(16 位)中
1) 如果我设置TIFFTAG_BITSPERSAMPLE
为 10 或 12,则从缓冲区中读取的位不足,并且输出不正确。(我知道它只是读取每个组件 10 或 12 位,而不是 16 位,这就是问题所在)
2) 我尝试将这些位打包在缓冲区中,使其真正为 12-R、12-G、12-B。在这种情况下,我认为文件正在正确写入,但我找不到任何查看器可以正确显示此图像。
3)如果我设置TIFFTAG_BITSPERSAMPLE
为16,观众可以显示TIFF图像,但是我有一个问题,我不知道图像最初是10位还是12位(如果我想以后用LibTIFF读取它)。此外,观看者期望动态范围为 16 位,而不是 10 或 12 位,这也会导致观看效果不佳。
4) 最烦人的部分是我在网上找不到一张 10、12 或 14 位的 TIFF 图像来查看标题应该是什么样子。
那么最后,将 10 位或 12 位图像数据写入 TIFF 文件的正确方法是什么??????