Обработка изображений TIFF Group4 в python

PIL изначально не поддерживает изображения G4, есть ли какой-то другой пакет python, который поддерживает? Мне нужно читать многостраничные изображения TIFF и конвертировать их в gif/png на лету для отображения на веб-странице. (Я не конвертирую их все на лету, а выбираю для отображения).

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


person boatcoder    schedule 11.08.2011    source источник
comment
Этому вопросу уже около 2 лет, и доступен пакет Python Pillow. Используй это!   -  person boatcoder    schedule 07.02.2014


Ответы (2)


См. эту публикацию об исправлении против PIL, этот проект для переноса FreeImage и этот проект для переноса libtiff.

person agf    schedule 11.08.2011
comment
Патч PIL работает, и, поскольку я уже загрузил PIL в свой проект Django, кажется, что он подходит. - person boatcoder; 15.08.2011
comment
Это было легко исправить в Linux, но в Windows (и в VirtualENV для загрузки) почти невозможно заставить работать. Наконец-то я решил все проблемы с компиляцией и отправил код на github.com/mark0978/PIL-withG4. не стесняйтесь использовать его. Это будет собрано/установлено в Linux или Windows (и в virtualENV). Надеюсь, это поможет кому-то еще. - person boatcoder; 20.08.2011
comment
Вы должны сообщить об этом людям из PIL! - person agf; 20.08.2011
comment
Я буду, но этот патч, который я использовал, существует с 2005 года, не задерживайте дыхание. Он использует для работы некоторые из частных заголовков tiff, что, вероятно, было бы проблемой, если бы tiff не был таким старым форматом, что код был достаточно зрелым. Код libTiff, который я использовал, был из 2007 года (3.8.2). Я только что посмотрел, и теперь есть версия 4.0, которая меняет некоторые из этих файлов, но ничего, что повлияет на этот патч. - person boatcoder; 20.08.2011

Используя PythonMagick:

from PythonMagick import Image
Image('CCITT_4.TIF[0]').write("PNG8:CCITT_4.PNG")
person cgohlke    schedule 12.08.2011