【问题标题】:Detecting bits per pixel in a TIFF image检测 TIFF 图像中每像素的位数
【发布时间】:2010-10-11 06:32:35
【问题描述】:

使用 LibTiff 处理单色 tiff 图像,我可以读取“每个样本的位数”参数:TIFFTAG_BITSPERSAMPLE。当它返回 16 时,该图像的实际“每像素位数”值可能是 9 到 16 之间的任何值,在大多数情况下是 10、12、14 或 16。是否有任何 tiff 图像标签可以保留此值?

【问题讨论】:

    标签: c++ tiff libtiff


    【解决方案1】:

    MaxSampleValue 标签将为您提供每个样本的最大值(对于构成每个像素的 N 个样本),因此您可以使用它(如果存在)来确定表示任何样本值所需的位数。这本质上是 ceil(log2(x)),其中 x 是样本的 MaxSampleValue 标记值。

    【讨论】:

    • 我明白了,它在 LibTiff 中被称为 TIFFTAG_MAXSAMPLEVALUE。这个标签有定义吗?我不需要图像中的实际最大像素值,我需要图像格式,通常是获取该图像的探测器的参数。
    • awaresystems.be/imaging/tiff/tifftags/maxsamplevalue.html ,或查看最新的 tiff 规范。
    • 样本只是值,并且在规范中定义明确,所以我不理解您评论中的“检测器参数”部分。也许如果你在你的问题中举了一个例子,它可能会帮助我或其他人理解。
    • 不清楚这在浮点 tiff 上的表现如何,ie SAMPLEFORMAT_IEEEFP
    • @Mikhail 我想在这种情况下你必须假设样本的所有位都是重要的。
    猜你喜欢
    • 1970-01-01
    • 2011-01-01
    • 2011-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多