我怎么能知道,如果一个TIFF像是在格式CCITT T.6(4组)?

有帮助吗?

解决方案

可以使用该(C#)的代码示例。 它返回指示所述压缩类型的值:

1:不压缩结果 2:CCITT第3组结果 3:传真兼容CCITT组3点击 4:CCITT组4(T.6),点击 5:LZW

public static int GetCompressionType(Image image)
{
    int compressionTagIndex = Array.IndexOf(image.PropertyIdList, 0x103);
    PropertyItem compressionTag = image.PropertyItems[compressionTagIndex];
    return BitConverter.ToInt16(compressionTag.Value, 0);
}

其他提示

你可以检查这些链接

标签259(hex0x0103)储存信息压缩的方法。

---压缩 标记=259(103) Type=字 N=1 Default=1个。

1=没有压缩,但包字节的数据进入尽可能紧密的,没有 未使用的位除了最后一行中。字节被储存作为一个阵列 字节,对于BitsPerSample <=8时,一句话,如果BitsPerSample>8和 <=16, 如果双BitsPerSample>16和 <=32.字节订购的数据>8比特 必须符合指定的TIFF文件的标题(0字节 和1).行需要开始上的字节的边界。

2=CCITT组3 1个维修霍夫曼运行长编码。看看ALGRTHMS.txt BitsPerSample必须是1,因为这种类型的压缩 仅被定义为双层的图像(如传真图像...)

3=传真兼容CCITT组3,正是因为指定 "标准化组3的传真设备的文件 传输"的建议T.4,Volume七分册的七。3, 终端设备和协议的用于远程信息处理服务, 国际电报和电话协商委员会 (CCITT),日内瓦,1985年,16页,通过31个。每个地带必须 开始上一个字节的边界。(但是记得的图像,可以一个 单一条。) 行不是第一个排的一个条 不需要开始一个字节的边界。数据存储为 字节,不是的话-byte-逆转是不允许的。看看 Group3Options场为基3个选项,如1D vs2D编码。

4=传真兼容CCITT组4, 正如在指定 "传真的编码方案和编码控制的功能为基 4传真设备"建议T.6,Volume七、专册 VII.3、终端设备和协议的用于远程信息处理服务, 国际电报和电话协商委员会 (CCITT),日内瓦,1985年,40页,通过48.每个地带必须 开始上一个字节的边界。行,不是第一排的 条不需要开始一个字节的边界。该数据 存储为字节,不词。看到Group4Options场 小组4个选项。

5=块压缩,用灰度,映射的色彩,并全色图像。

可以运行从 ImageMagick的套件在图像上identify -verbose。查找“压缩:组4”。在输出

<强>更新

所以,我下载了我之前提到的链接libtiff库,并从我所看到的,你可以做到以下几点:(未经测试)

int isTIFF_T6(const char* filename)
{
TIFF* tif= TIFFOpen(filename,"r");
TIFFDirectory *td = &tif->tif_dir;
if(td->td_compression == COMPRESSION_CCITTFAX4) return 1;
return 0;
}

<强> PREVIOUS: 此页面有一个关于这个格式很多信息和链接到一些代码在C:

下面是一个摘录:

  

下面的纸覆盖T.4,T.6   和JBIG:

     

“用于电子标准评分   用于传真系统”成像   杂志电子成像,卷。 1,   1期,第5-21,1992年1月

     

源代码可以作为其一部分来获得   一个TIFF工具包 - TIFF图像   压缩技术为二进制   图像包括CCITT T.4和T.6:

     

ftp://ftp.sgi.com/graphics /tiff/tiff-v3.4beta035-tar.gz   接触:sam@engr.sgi.com

     

了解更多:的http:// WWW。 faqs.org/faqs/compression-faq/part1/section-16.html#ixzz0TYLGKnHI

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top