【发布时间】:2009-06-27 04:28:51
【问题描述】:
我正在处理用于图像压缩的 TIFF 图像。
我想知道实际的原始图像数据(即 R、G、B 组件)是如何组织/存储在 TIFF 文件中的。
是否存储为 G0B0R0G1B1R1...(每个颜色分量各 1 个字节,所有分量交错)
或者是其他方式,即。平面格式还是其他?
谢谢。
-广告。
【问题讨论】:
我正在处理用于图像压缩的 TIFF 图像。
我想知道实际的原始图像数据(即 R、G、B 组件)是如何组织/存储在 TIFF 文件中的。
是否存储为 G0B0R0G1B1R1...(每个颜色分量各 1 个字节,所有分量交错)
或者是其他方式,即。平面格式还是其他?
谢谢。
-广告。
【问题讨论】:
TIFF 指定:
页面属性包括如下属性:
换句话说,TIFF 文件可能包含使用多种不同编码方案中的任何一种进行编码的数据。
【讨论】:
【讨论】:
【讨论】:
我一直在做同样的事情,tiff 文件查看多分辨率 tiff。
Adobe 有TIFF 6 documentation on their website。
您应该能够通过 c# 或 vb.net 在 LibTiff 上使用 P/Invoke。
它们的压缩类型很多,其中一些是专有的。
【讨论】:
查看 tomassao 提供的文档,我发现未压缩的 RGB 只是可能的 tiff 编码之一。
看起来数据没有交错。实际上,每个像素可以指定超过 3 个样本(但 RGB 为 3),并且每个样本可以指定不同的位数(但常见的是 8、8、8)。
我假设您已经了解标头的工作原理。如果您不这样做,文档将涵盖它。
【讨论】:
Tiff 压缩可通过 libtiff 或 ImageMagick 免费使用,并内置于 .NET 和 Java 中。如果您需要高级功能,像我这样的公司 (Atalasoft) 会提供对精确编码的更多控制(支持切片或条带、旧式 JPEG 编码、更轻松的 tiff 标签访问等)。
【讨论】: