Пакет ImageIO
не работает с изображениями .tif
, и я не могу создать BufferedImage (класс, с которым я больше знаком) из файла .tif
.
Как легко получить пиксельное значение изображения TIFF в Java? Как я могу сделать это FAST?
У меня нет опыта обработки изображений, и нам будет очень полезен некоторый пример кода!
Спасибо!
Ответ 1
Вам понадобится API расширенной визуализации Java: JAI для работы с изображениями TIFF.
Из описания JAI API:
TIFF
В дополнение к базовой спецификации, поддержка кодировщика и декодера PackBits, модифицированные кодировки (факс) Huffman и CCITT (факс), JPEG-in-TIFF (на TIFF Technical Note # 2) и схемы сжатия DEFLATE, могут обрабатывать изображения с 16- и 32-битные интегральные образцы и 32-битные сэмплы с плавающей запятой и могут считывать и записывать черепичные изображения всех поддерживаемых типов данных. Кроме того, декодер может распаковывать сжатые LZW-изображения.
Дополнительные возможности могут быть решены в будущем.
Одна страница многостраничного файла TIFF может загружаться наиболее легко, используя параметр страницы с оператором "TIFF", который задокументирован в комментариях класса javax.media.jai.operator.TIFFDescriptor. Здесь приведен пример кода, чтобы показать средство загрузки одной страницы многостраничного файла TIFF, используя непосредственно классы вспомогательных кодеков.
Попробуйте некоторые из этих руководств.