Как я могу узнать, находится ли изображение в формате TIFF в формате CCITT T.6 (группа 4)?

StackOverflow https://stackoverflow.com/questions/1548446

Вопрос

Как я могу узнать, находится ли изображение в формате TIFF в формате CCITT T.6 (группа 4)?

Это было полезно?

Решение

Вы можете использовать этот пример кода (C#).Он возвращает значение, указывающее тип сжатия:

1:без сжатия
2:МККТТ Группа 3
3:Совместимость с факсимильной связью CCITT, группа 3
4:Группа 4 МККТТ (Т.6)
5:ЛЗВ

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 (шестнадцатеричный 0x0103) хранит информацию о методе сжатия.

--- Сжатие Тег = 259 (103) Тип = word N = 1 Значение по умолчанию = 1.

1 = Нет сжатия, но данные упаковываются в байты как можно плотнее, без неиспользуемых битов, за исключением конца строки.Байты хранятся в виде массива из байтов, для примера битов <= 8, слово, если битовая выборка > 8 и <= 16, и dword, если битовая выборка > 16 и <= 32.Порядок байтов данных >8 бит должен соответствовать порядку, указанному в заголовке файла TIFF (байты 0 и 1).Строки должны начинаться с границ байтов.

2 = CCITT Group 3 - Одномерная Модифицированная кодировка длины пробега Хаффмана.Смотрите ALGRTHMS.txt Битовая выборка должна быть равна 1, поскольку этот тип сжатия определен только для двухуровневых изображений (например, изображений факса ...)

3 = Совместимый с факсимильной связью CCITT Group 3, точно такой, как указано в "Стандартизация факсимильных аппаратов группы 3 для передачи документов ", Рекомендация Т.4, том VII, брошюра VII.3, Терминальное оборудование и протоколы для телематических служб, Международный консультативный комитет по телеграфу и телефонной связи (CCITT), Женева, 1985, страницы с 16 по 31.Каждая полоса должна начинаться с границы в байтах.(Но напомним, что изображение может быть одной полосой.) Строки, которые не являются первой строкой полосы не обязательно начинаться с границы байта.Данные хранятся в виде байтов, а не слов - обращение байтов не допускается.Смотрите поле Group3Options для выбора параметров группы 3, таких как 1D или 2D кодирование.

4 = Совместимая с факсимильной связью CCITT Group 4, точно так, как указано в "Схемы факсимильного кодирования и функции управления кодированием для факсимильных аппаратов группы 4", Рекомендация Т.6, том VII, брошюра VII.3, Терминальное оборудование и протоколы для телематических служб, Международный консультативный комитет по телеграфу и телефонной связи (CCITT), Женева, 1985, страницы с 40 по 48.Каждая полоса должна начинаться с границы в байтах.Строки, которые не являются первой строкой строки не обязательно должны начинаться с границы байта.Данные хранятся в виде байтов, а не слов.Смотрите в поле Group4Options информацию о Параметрах группы 4.

5 = Сжатие LZW для изображений в оттенках серого, отображенных цветах и полноцветных изображениях.

Вы можете запустить 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;
}

Предыдущая страница: Эта страница содержит много информации об этом формате и ссылки на некоторый код на C:

Вот выдержка:

Следующий документ охватывает разделы T.4, T.6 и JBIG:

"Обзор стандартам для электронных визуализации для систем факсимиле" в Журнал электронный воображения, объем.1, Нет.1, стр.5-21 января 1992 года.

Исходный код может быть получен как часть инструментария TIFF - TIFF image методы сжатия двоичных файлов изображения включают 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