Wie kann ich wissen, ob ein TIFF-Bild im Format CCITT T.6 (Gruppe 4)?
-
20-09-2019 - |
Frage
Wie kann ich wissen, ob ein TIFF-Bild im Format CCITT T.6 (Gruppe 4)?
Lösung
Sie können mit diesem (C #) Code-Beispiel. Es gibt einen Wert, der den Kompressionstyp:
1: keine Kompression
2: CCITT Gruppe 3
3: Fax-kompatiblen CCITT Gruppe 3
4: CCITT Gruppe 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);
}
Andere Tipps
Sie können diese Links überprüfen
Das Tag 259 (hex 0x0103) speichert die Informationen über das Kompressionsverfahren.
--- Compression Tag = 259 (103) Type = Wort N = 1 Standard = 1.
1 = keine Komprimierung, aber Paketdaten in Bytes so dicht wie möglich, ohne nicht verwendete Bits mit Ausnahme am Ende einer Zeile. Die Bytes werden als Array gespeichert von Bytes, für BitsPerSample <= 8, Wort, wenn BitsPerSample> 8 und <= 16, und dword wenn BitsPerSample> 16 und <= 32. Die Byte-Reihenfolge der Daten> 8 Bits muss in dem TIFF-Datei-Header angegeben mit, dass konsistent sein (Bytes 0 und 1). Zeilen sind erforderlich, auf Byte-Grenzen zu beginnen.
= 2 CCITT Gruppe 3 1-Dimensional Modified Huffman Lauflängencodierung. Siehe ALGRTHMS.txt BitsPerSample 1 sein muss, da diese Art der Kompression definiert ist nur für bilevel Bilder (wie FAX Bilder ...)
3 = Fax-kompatibele CCITT Gruppe 3, genau wie angegeben in „Standardisierung der Gruppe-3-Faxvorrichtung für Dokumente Übertragung“, Empfehlung T.4, Band VII, Faszikel VII.3, Terminal Equipment und Protokolle für Telematikdienste, die Internationaler Telegraph and Telephone Consultative Committee (CCITT), Genf, 1985, Seiten 16 bis 31 Jeder Streifen Muss beginnt auf einer Byte-Grenze. (Aber erinnern, dass ein Bild sein, ein Einzelstreifen.) Zeilen, die nicht die erste Zeile eines Bandes sind, nicht erforderlich auf einer Byte-Grenze zu beginnen. Die Daten werden gespeichert, wie Bytes, nicht Worte - Bytefolgeumkehrung ist nicht erlaubt. siehe Group3Options Feld für Gruppe 3 Optionen wie 1D vs 2D-Codierung.
4 = Fax-kompatibele CCITT Gruppe 4 , genau wie angegeben in „Facsimile Coding Schemes und Codierung der Steuerfunktionen für die Gruppe 4 Facsimile Apparatus“, Empfehlung T.6, Band VII, Faszikel VII.3, Terminal Equipment und Protokolle für Telematikdienste Die Internationale Telegraph and Telephone Consultative Committee (CCITT), Genf, 1985, Seiten 40 bis 48. Jeder Streifen Muss beginnt auf einer Byte-Grenze. Zeilen, die nicht die erste Zeile von A sind Streifen nicht an einer Byte-Grenze beginnen erforderlich. Die Daten sind als Bytes gespeichert, nicht Worte. Siehe das Group4Options Feld für Gruppe 4 Optionen.
5 = LZW-Komprimierung, für Graustufen, abgebildet Farbe und Farbbilder.
können Sie führen identify -verbose
aus der ImageMagick Suite auf dem Bild. Suchen Sie nach. "Komprimierung: Group4" in der Ausgabe
UPDATE:
SO, habe ich heruntergeladen libtiff
Bibliothek aus dem Link, den ich bereits erwähnt, und von dem, was ich gesehen habe, können Sie wie folgt vorgehen: (ungetestet)
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;
}
Zurück: Diese Seite viele Informationen über dieses Format hat und Links zu einigen Code in C:
Hier ist ein Auszug:
Das folgende Papier umfasst T.4, T.6 und JBIG:
"Überprüfung der Standards für den elektronischen Bildgebung für Facsimile-Systeme“in Journal of Electronic Imaging, Bd. 1, Nr. 1, S. 5-21, Januar 1992
Der Quellcode kann als Teil erhalten werden ein TIFF-Toolkit - TIFF-Bild Kompressionstechniken für binäre Bilder umfassen CCITT T.4 und T.6:
ftp://ftp.sgi.com/graphics /tiff/tiff-v3.4beta035-tar.gz Kontakt: sam@engr.sgi.com
Lesen Sie mehr: http: // www. faqs.org/faqs/compression-faq/part1/section-16.html#ixzz0TYLGKnHI