Получение пикселей из файла DNG в Android
В настоящее время я работаю над приложением HDR, которое требует использования Camera2, чтобы иметь возможность настраивать параметры HDR.
Я разработал индивидуальный алгоритм для извлечения определенных данных из изображений Raw DNG, и я хотел бы реализовать его на Android.
К сожалению, я не эксперт в Java/Android, поэтому я научился программировать. Используя другие форматы, я обычно работал с растровыми изображениями для получения данных пикселей. (что было относительно простой задачей в отношении существующих методов)
Что касается файлов DNG, я не нашел документации, показывающей, как получить данные о пикселях. Я думал о буферизации изображения, однако формат файла DNG содержит много информации, кроме пикселей, и я боюсь, что не могу найти стратегию извлечения с использованием bufferstream. (Я просто хочу хранить пиксели внутри массива)
У кого-нибудь есть идея? Буду очень признателен за некоторые советы.
С наилучшими пожеланиями
1 ответ
Camera2 не создает DNG напрямую - она создает простые RAW-буферы, которые затем можно сохранить в DNG через DngCreator.
Вы работаете с исходными буферами RAW или сохраняете DNG, а затем загружаете их обратно?
Как правило, DNG не являются полностью запеченными изображениями, поэтому для их полной визуализации требуется совсем немного кода - см., Например, Adobe DNG SDK.