Сегодня я вам расскажу о том, как получать снимки со своей камеры на андроид телефоне в формате RAW!
И так, я получил желаемое качество фото в RAW и не могу не поделится этим с общественностью.
Честно, сам долго об этом мечтал, и вот сегодня сбылась мечта идиота. Это актуально, особенно если посмотреть цены на телефоны, приложения для камер которых сразу могут в RAW. Но мой телефон не может в RAW, а поэтому нужно задействовать серое вещество и, немного, разорвать шаблоны :)
Гугля эту тему нашел очень мало инфы, практически отсутствуют инструкции. А те которые есть, мало того, что отличаются качеством фото на выходе так еще и не универсальны. Единственное чего много, так это обсуждений как это все классно на новых флагманах с андроидом L и M.
Создается впечатление, что данная тематика специально не обсуждается. Хотя это доcтаточно странно. На халяву улучшить динамический диапазон своей камеры путем вытаскивания из нее RAW файла, это должна быть ходовая тема. Но, то-ли народу это не интересно, то ли мало кто знает, что это вообще возможно сделать. Не знаю. Но я смог. И, уверен теперь смогут многие, и что самое главное без покупки нового телефона.
Что для этого нужно:
1. Ведроид не важно какой версии (проверялось на fly phoenix 2 и THL 4000 (4.4.x)) с доступом в инженерное меню. О том, как получить доступ в инженерное меню для конкретной вашей модели телефона или кастомной прошивки, узнавайте в соответствующем разделе на сайтах, например 4pda (не реклама). Есть мнение, что это возможно осуществить только на процессорах MTK, но, уверен, что и на других процессорах должна быть такая возможность. Нужно тестировать.
Есть такие прошивки (особенно всякие порты с других телефонов), в которых инженерного меню просто напросто нету или оно представлено в виде нескольких настроек — в таком случае, нужно поискать другую прошивку.
2. Заходим в инженерное меню (EngineerMode), а это можно сделать как минимум 3мя путями (Mobileuncle или *#*#3646633#*#* или в самых настройках кастомной прошивки).
3. Далее нужно проследовать на вкладку Hardware Testing и найти пункт Camera.
4. В настройке Capture type можно выставить Pure Raw или Processed Raw, главное чтобы не jpeg.
5. В настройке Capture size выставить Capture size (получится максимальное разрешение фото).
6. ISO выставляем по желанию. (100 — лучшее качество).
7. Нажимаем на кнопку Start Preview — откроется камера и можно уже делать фото, нажав на кнопку Capture визу.
Фото в файлах *.raw и *.jpeg сохраняются в папке DCIM/CameraEM на внутренней или на внешней памяти (в зависимости от прошивки и устройства).
8. Нам нужен естественно *.raw. Этот *.raw не получится сразу импортировать в лайтрум или другой графический raw редактор для обработки, поэтому его нужно подготовить следующим образом (по расширенной мною инструкции от frost_ua):
9. Перетаскиваем в фотошоп наш *.raw в диалоговом окне импорта нужно будет правильно указать высоту и ширину фото (цифры берем из названия *.raw файла или достаем их любым другим способом, например с помощью XnView или IrfanView), а так же выставить глубину — 16 бит и порядок записи — IBM PC.
10. Получаем черный квадрат Малевича (не совсем). Выбираем Фильтр — Другое — Заказная, в диалоговом окне значение посредине матрицы меняем на 64 и жмем ОК. Получаем Ч/Б изображение.
11. Далее Сохранить как и выбираем формат Photoshop RAW.
12. Теперь нам необходимо воспользоваться программой raw2dng (первая ссылка отсюда). Но скормить ей сохраненный в фотошопе файл *.raw сразу не получится. Для этого нужно поиграться с файлом raw2nef.ini, а именно прописать тут свои параметры.
Открываем файл raw2nef.ini и редактируем его для своего телефона:
Например модифицируем первую строчку
15417648, 0, 3204, 2406, 6, 6408, 16, 4, LX1, -2; Jiayu G2H
для моего телефона она будет выглядеть так:
15360000, 0, 3200, 2400, 7, 6400, 16, 4, Phoenix2; FLY Phoenix 2
15417648 — размер файла в байтах,
0 — не трогаем.
3204, 2406 — размер фото (значения ширины и высоты которые вводили в фотошопе)
6 — параметр который придется подобрать вручную. Благо он принимает всего 7 значений. У меня этот параметр = 7. Именно так цвета на фото получилось наиболее адекватными.
6408 — это ширина умноженная на 2. (3204*2=6408).
16 — бит на пиксель (10 или 12 или 16).
4 — флаг. Оставляем на 4.
LX1 — меняем на сокращенное название своего устройства (желательно без пробелов)
-2 — не обязательно. Можно не писать.
Jiayu G2H — меняем на полное имя своего устройства.
Сохраняем raw2nef.ini.
13. Открываем заново raw2dng_ru.exe. В появившемся окне ищем наше устройство в выпадающем списке (в моем случае, это Phoenix2). Закрываем программу, и снова открываем. пробуем перетащить в нее наш сохраненный фотошопом *.raw.
Если файле raw2nef.ini все указано верно, то напротив имени импортированного файла в программе будет название вашего аппарата и еще какая-то инфа. Смело жмем кнопку «Обработать» и получаем в той же папке готовый файл *.dng для импорта и обработки, например в лайтруме (так же можно выбрать сохранение в файл *.nef).
И все, теперь у нас все готово для того чтобы в пакетном режиме преобразовывать сохраненные в фотошопе *.raw файлы и почувствовать ВСЮ мощь своей камеры.
Ели же в raw2nef.ini ошибка — то на против имени файла в программе появится слово ошибка с объяснением.
После изменения любого параметра в файле raw2nef.ini программу raw2dng_ru.exe нужно закрыть и открыть заново.
Таким образом, если фото в *.raw после обработки получается с сильно измененными цветами — перебираем по очереди значение с примера [6] начиная с 1 до 7, и смотрим какое из семи фото будет наиболее адекватным по цветности.
Дальше в лайтруме нужно сделать автоматическое установление баланса белого (цветовой температуры и оттенка) и цвета выровняются как надо окончательно. В фотошопе, при импорте файла можно сделать то же самое. Конечно, если фото сразу не получилось без всякой там синевы или желтизны, тогда этот пункт можно пропустить.
Хочу заметить, что в зависимости от аппарата и прошивки, некоторые названия пунктов в инженерном меню могут расходится с приведенными мною в статье. Но, в общем думаю все интуитивно понятно.
PS: если кто-то с этим сталкивался или может в программирование на андроид, просьба разъяснить подробно все пункты инженерного меню камеры. В частности есть много настроек, которые не совсем понятно как выставлять (типа EV Calibration, Custom Parameter и тд). Ну а в идеале можно написать приложение, которое будет делать фото прямиком в RAW формат без надобности заходить в инженерное меню. (Могу помочь с тестированием на 4-5 различных аппаратах).
Выражаю благодарность сайтам 4pda и xda, а также пользователю frost_ua.
Спасибо за внимание! Надеюсь был полезен.
UPD
Выкладываю результат тестов. Результат меня лично удовлетворил.
Автор: Siegurd