Pergunta

Como posso saber se uma imagem TIFF está no formato CCITT T.6 (Grupo 4)?

Foi útil?

Solução

Você pode usar esse exemplo de código (c#). Ele retorna um valor indicando o tipo de compressão:

1: sem compressão
2: CCITT GROUP 3
3: CCITT Grupo 3 compatível com fac-símile
4: CCITT GRUPO 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);
}

Outras dicas

Você pode verificar esses links

A tag 259 (Hex 0x0103) armazena as informações sobre o método de compressão.

--- Tag de compressão = 259 (103) tipo = palavra n = 1 padrão = 1.

1 = sem compactação, mas empacote dados em bytes o mais rigorosamente possível, sem bits não utilizados, exceto no final de uma linha. Os bytes são armazenados como uma matriz de bytes, para bitspersample <= 8, palavra se bitspersample> 8 e <= 16, e dword se bitspersample> 16 e <= 32. A ordem de bytes de dados> 8 bits deve ser consistente com isso especificado no cabeçalho do arquivo TIFF (bytes 0 e 1). As linhas são necessárias para começar limites de bytes.

2 = CCITT GRUPO 3 Codificação de comprimento de huffman modificada 1-dimensional. Veja Algrthms.txt BitsperSample deve ser 1, uma vez que esse tipo de compressão é definido apenas para imagens de bilevel (como imagens de fax ...)

3 = CCITT Grupo 3 compatível com FACSIMIL, exatamente como especificado na "padronização do aparelho fac-símile do grupo 3 para transmissão de documentos", recomendação T.4, Volume VII, fascículo VII.3, equipamentos e protocolos terminais para serviços telemáticos, telégrafo internacional e Comitê Consultivo por Telefone (CCITT), Genebra, 1985, páginas 16 a 31. Cada faixa deve começar em um limite de byte. (Mas lembre -se de que uma imagem pode ser uma única tira.) Linhas que não são a primeira linha de uma tira não são necessárias para começar em um limite de byte. Os dados são armazenados como bytes, não as palavras - não são permitidas bytes -reversal. Consulte o campo Group3Options para opções do Grupo 3, como 1D vs 2D Coding.

4 = CCITT GRUPO 4 COMPATÍVEL DE FACSIMILE, exatamente como especificado em "esquemas de codificação fac -símile e funções de controle de codificação para aparelhos de fac -símile do grupo 4", recomendação T.6, Volume VII, fascículo VII.3, equipamentos e protocolos de terminais para serviços telemáticos, o Comitê Consultivo Telegráfico e Telefone Internacional (CCITT (CCITT (CCITT ), Genebra, 1985, páginas 40 a 48. Cada faixa deve começar em um limite de byte. Linhas que não são a primeira linha de uma tira não são necessárias para começar em um limite de byte. Os dados são armazenados como bytes, não palavras. Consulte o campo Group4Options para as opções do Grupo 4.

5 = compressão LZW, para escala de cinza, cor mapeada e imagens coloridas.

Você pode correr identify -verbose de Imagemagick suíte na imagem. Procure "Compressão: Grupo4" na saída.

ATUALIZAR:

Então, eu baixei o libtiff Biblioteca do link que mencionei antes, e pelo que vi, você pode fazer o seguinte: (Unstested)

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;
}

ANTERIOR: Esta página tem muitas informações sobre este formato e links para algum código em C:

Aqui está um trecho:

O papel a seguir abrange T.4, T.6 e JBIG:

"Revisão de padrões para imagens eletrônicas para sistemas de fac -símile" no Journal of Electronic Imaging, vol. 1, No. 1, pp. 5-21, janeiro de 1992.

O código -fonte pode ser obtido como parte de um kit de ferramentas TIFF - TIFF Image Techniques para imagens binárias incluem CCITT T.4 e T.6:

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

Consulte Mais informação: http://www.faqs.org/faqs/compression-daq/part1/secção-16.html#ixzz0tylgknhi

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top