Чтение RAW-изображений с Java

Камеры Canon/Nikon/ другие сохраняют исходные данные своего датчика в некоторых своих фирменных форматах (.CR2, независимо от того, что). Существует ли какая-либо библиотека Java, предназначенная для их чтения и преобразования в управляемые BufferedImages?

Меня не волнует полностью настраиваемое преобразование, похожее на ufraw или imagemagick, скорее что-то простое, что "просто работает" для рендеринга простых изображений таких изображений.

4 ответа

Решение

Я был там, где ты есть, и я чувствую к тебе. Лучше всего использовать программу Adobe или dcraw для автоматического создания миниатюр. Временные файлы DNG, использующие конвертер Adobe, могут быть проще в использовании.

Если вы настаиваете на том, чтобы делать это на Java, вы столкнетесь с огромной болью. RAW-форматы часто меняются, имеют всевозможные сумасшедшие нюансы и преднамеренно сложны для работы. Производители камер хотят, чтобы вы использовали ПО для конвертации ИХ RAW, чтобы продемонстрировать возможности камеры в лучшем виде и прикрутить Adobe. Парень из dcraw обнаружил, что некоторые производители камер даже используют шифрование сейчас!

Существующие библиотеки Java плохие - JRawIO улучшился с тех пор, как я в последний раз смотрел на него, но он поддерживает только часть форматов, которые поддерживает dcraw. В дополнение к перечисленным библиотекам библиотека imagero может предоставлять возможность отображения миниатюры для вашего изображения.

Исходя из личного опыта, даже не думайте писать собственный читатель RAW. Я попытался сделать это с очень простым форматом RAW один раз (просто массив данных датчика, 12 бит на пиксель). Исходный код dcraw плохо переводится на Java. Вы никогда не видели такого кошмара суеты. Мне потребовались дни, чтобы отладить проблемы с выравниванием байтов и порядком байтов.

jrawio это плагин для ввода / вывода изображения Java. С его помощью вы можете читать растровые данные, миниатюры и метаданные из необработанного файла изображения.

nef и cr2 уже содержат изображения для предварительного просмотра в формате JPEG. просто найдите правильное смещение и правильную длину, чтобы извлечь его... Лоран Клеви @ lclevy.free.fr/raw

Laurent

Если вы не хотите писать свой собственный анализатор файлов / загрузчик (звучит весело imho;)), возможно, JMagick поможет вам. Я не пробовал, и это может не сработать, учитывая вашу целевую платформу, так как JMagick использует JNI.

ОБНОВЛЕНИЕ: dcraw выглядит как хороший ресурс / ссылка

Другие вопросы по тегам