如何知道TIFF图像的格式是CCITT T.6(第4组)?
答案 0 :(得分:13)
您可以使用此(C#)代码示例。 它返回一个表示压缩类型的值:
1:没有压缩
2:CCITT Group 3
3:与传真兼容的CCITT Group 3
4:CCITT Group 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);
}
答案 1 :(得分:8)
您可以查看这些链接
标签259(十六进制0x0103)存储有关压缩方法的信息。
---压缩 标签= 259(103) Type = word N = 1 默认= 1。
1 =没有压缩,但是尽可能紧密地将数据打包成字节,没有 除了在行的末尾之外的未使用的位。字节存储为数组 字节数,对于BitsPerSample< = 8,如果BitsPerSample>则为字; 8和< = 16,和 dits如果BitsPerSample> 16和< = 32.数据的字节排序> 8位 必须与TIFF文件头中指定的一致(字节0 1)。行需要从字节边界开始。
2 = CCITT Group 3 1维修改的霍夫曼游程长度编码。 请参阅ALGRTHMS.txt BitsPerSample必须为1,因为这种类型的压缩 仅适用于双层图像(如传真图像......)
3 =与传真兼容的CCITT Group 3,完全按照中的规定 “文件组3传真机的标准化 传播,“T.4建议书,第VII卷,分册VII.3, 终端设备和远程信息处理服务协议 国际电报电话咨询委员会 (CCITT),1985年,日内瓦,第16至31页。每个条带必须 从字节边界开始。 (但请记住,图像可以是一个 单条。)不是条带第一行的行是 不需要从字节边界开始。数据存储为 字节,而不是字 - 不允许字节反转。见 第3组选项的Group3Options字段,例如1D与2D编码。
4 =与传真兼容的CCITT Group 4 ,完全按照中的规定 “用于组的传真编码方案和编码控制功能 4传真设备,“T.6建议书,第VII卷,分册 VII.3,远程信息处理服务的终端设备和协议, 国际电报电话咨询委员会 (CCITT),1985年,日内瓦,第40至48页。每个条带必须 从字节边界开始。不是第一行的行 strip不需要在字节边界上开始。数据是 存储为字节,而不是单词。请参阅Group4Options字段 第4组选项。
5 = LZW压缩,用于灰度,映射颜色和全彩色图像。
答案 2 :(得分:4)
您可以从图片上的ImageMagick套件中运行identify -verbose
。在输出中查找“压缩:Group4”。
答案 3 :(得分:0)
<强>更新强>
所以,我从之前提到的链接下载了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:强> This page有很多关于此格式的信息,并链接到C:
中的一些代码以下是摘录:
以下文件涵盖T.4,T.6 和JBIG:
“审查电子标准 用于传真系统的成像“in 电子成像杂志,Vol。 1, 1992年1月第1期,第5-21页。
源代码可以作为一部分获得 一个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