Формат файла изображения TIFF - PullRequest
0 голосов
/ 13 июня 2009

Я работаю над изображениями TIFF для сжатия изображений.

Я хочу знать, как фактические необработанные данные изображения, т. Е. Компоненты R, G, B, организованы / сохранены в файле TIFF.

Хранится ли он как G0B0R0G1B1R1 ... (1 байт каждый для каждого компонента цвета, все компоненты перемежаются)

или это какой-то другой способ, а именно. планарный формат или что-то еще?

Спасибо.

-AD.

Ответы [ 6 ]

3 голосов
/ 13 июня 2009

TIFF указывает:

  • Как атрибуты связаны со страницей
  • Как несколько страниц (и их атрибуты) упакованы в один файл

Атрибуты страницы включают такие свойства, как:

  • Размеры
  • Схема кодирования

Другими словами, файл TIFF может содержать данные, которые кодируются с использованием любой из множества различных схем кодирования.

1 голос
/ 13 июня 2009

Файл TIFF может хранить изображения различных типов:

  • Двухуровневый (ч / б)
  • Оттенки серого
  • Palette цвет
  • RGB полноцветный

Сохранение фактических данных изображения выполняется по-разному для каждого типа изображения.

Спецификация не самая страшная, которую я видел, но она определенно не тривиальна!

0 голосов
/ 27 июня 2009

Сжатие Tiff доступно бесплатно с помощью libtiff или ImageMagick и встроено в .NET и Java. Если вам требуются расширенные функции, такие компании, как моя ( Atalasoft ), предлагают больший контроль над точным кодированием (поддержка листов или полос, кодировка JPEG старого стиля, более легкий доступ к тегам TIFF и т. Д.).

0 голосов
/ 13 июня 2009

Глядя на документ, предоставленный tomassao, я вижу, что несжатый RGB - только одна из возможных кодировок TIFF.

Похоже, данные не чередуются. Фактически, вы можете указать более 3 выборок на пиксель (но RGB равен 3), и вы можете указать различное количество бит на выборку (но обычно используется 8,8,8).

Полагаю, вы уже знаете о том, как работают заголовки. Документ покрывает это, если вы не делаете.

0 голосов
/ 13 июня 2009

Я делал то же самое, с файлами TIFF, смотрящими на мульти-решения.

Adobe имеет документацию TIFF 6 на своем веб-сайте .

Вы должны иметь возможность использовать P / Invoke на LibTiff с c # или vb.net.

У них много типов сжатия, некоторые из них проприетарные.

0 голосов
/ 13 июня 2009

Спецификацию TIFF можно найти здесь: http://partners.adobe.com/public/developer/tiff/index.html

...