¿Cómo puedo saber si una imagen TIFF se encuentra en la T.6 del CCITT formato (Grupo 4)?
-
20-09-2019 - |
Pregunta
¿Cómo puedo saber si una imagen TIFF está en el formato de T.6 del CCITT (Grupo 4)?
Solución
Puede utilizar esta (C #) ejemplo de código. Se devuelve un valor que indica el tipo de compresión:
1: sin compresión
2: Grupo 3 de CCITT
3: compatible con fax CCITT Grupo 3
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);
}
Otros consejos
Puede comprobar estos enlaces
La etiqueta 259 (hexadecimal 0x0103) almacenar la información sobre el método de compresión.
--- Compresión Tag = 259 (103) Type = palabra N = 1 Por defecto = 1.
1 = Sin compresión, pero los datos del paquete en bytes tan firmemente como sea posible, sin bits no utilizados, excepto al final de una fila. Los bytes se almacenan como una matriz de bytes, por BitsPerSample <= 8, palabra si BitsPerSample> 8 y <= 16, y DWORD si BitsPerSample> 16 y <= 32. El orden de los bytes de los datos de 8 bits> debe ser coherente con lo especificado en el encabezado del archivo TIFF (bytes 0 y 1). Se requieren filas para comenzar en límites de bytes.
2 = CCITT Grupo 3 1-Dimensional Modificado Huffman de longitud de recorrido de codificación. Ver ALGRTHMS.txt BitsPerSample debe ser 1, ya que este tipo de compresión se define sólo para imágenes en dos niveles (como imágenes de fax ...)
3 = compatible-Facsímil CCITT Grupo 3, exactamente como se especifica en "Normalización de Grupo aparato 3 de facsímil para el documento transmisión," Recomendación T.4, Tomo VII, Fascículo VII.3, Equipo y protocolos para servicios telemáticos terminal, El Comité Consultivo Internacional Telegráfico y Telefónico (CCITT), Ginebra, 1985, páginas 16 a 31. Cada tira debe comenzar en un límite de byte. (Pero recordar que una imagen puede ser una sola tira.) Las filas que no son la primera fila de una tira están no se requiere para comenzar en un límite de byte. Los datos se almacenan como bytes, no palabras - No se permite la inversión de bytes. ver el campo Group3Options para el grupo 3 opciones tales como 1D vs codificación 2D.
4 = compatible-Facsímil CCITT Grupo 4 , exactamente como se especifica en "esquemas de codificación y Codificación Funciones de Control de fax para el Grupo 4 Aparato Facsímil," Recomendación T.6, Volumen VII, Fascículo VII.3, equipo terminal y protocolos para los servicios telemáticos, El Comité Consultivo Internacional Telegráfico y Telefónico (CCITT), Ginebra, 1985, páginas 40 a 48. Cada tira debe comenzar en un límite de byte. Las filas que no son la primera fila de una tira no están obligados a comenzar en un límite de byte. Los datos son almacenado como bytes, no palabras. Ver el campo de Group4Options Grupo 4 opciones.
5 = Compresión LZW, de escala de grises, color asignada, e imágenes a todo color.
Puede ejecutar identify -verbose
de la ImageMagick suite en la imagen. Busque "Compresión: Group4". En la salida
ACTUALIZACIÓN:
SO, he descargado la biblioteca libtiff
desde el enlace que he mencionado antes, y por lo que he visto, puede hacer lo siguiente: (no probado)
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 tiene una gran cantidad de información acerca de este formato y enlaces a un cierto código en C:
He aquí un extracto:
El siguiente documento cubre T.4, T.6 y JBIG:
"Revisión de las normas para la electrónica formación de imágenes para sistemas de facsímil" en Journal of Electronic Imaging, Vol. 1, No. 1, pp. 5-21, enero de 1992.
El código fuente se puede obtener como parte de imagen TIFF - un conjunto de herramientas TIFF técnicas de compresión para binario imágenes incluyen CCITT T.4 y T.6:
ftp://ftp.sgi.com/graphics /tiff/tiff-v3.4beta035-tar.gz Contacto: sam@engr.sgi.com
Leer más: http: // www. faqs.org/faqs/compression-faq/part1/section-16.html#ixzz0TYLGKnHI