Linux: Обрабатываем RAW-изображения
Мы не будем говорить о том, как правильно\неправильно обрабатывать raw’ки. Мы поговорим об инструментах (конечно же консольных), которые можно применять для конвертирования, склейки и других операций.
Фото на превью - это то, что удалось вытащить из raw (конечно же оно пожатое в джипег и отресайзено для публикации).
Сначала немного о технике если хотим получить относительно хороший снимой:
- снимаем с брекетингом по экспозиции в 1-2 единицы в зависимости от освещения. Можно не угадать и засветить снимок. Тогда уже кадр не вытянуть. У большинства камер есть режим при котором они показывают засвеченные области.
- сохранение в жипег можно оставить чисто номинальное с низким разрешением и качеством (просто чтобы был если надо кому-то быстро-быстро показать на компе итоговый снимок).
- по-возможности включить 14-bit raw или больше - там можно вытянуть еще данных о цветности.
Исходные данные
Картинка, которую сохраняет фотик без предварительных обработок picture control (для canon оно называется иначе) совсем никуда не годится.
Режимы съемки: 1/200s, F9, 10.5mm, pc nl, wb sun.
Среди всех кадров в серии брекетинга это был нормальный. Без засветки.
Инструменты
- ufraw - позволяет преобразовывать raw в человеко-понятные форматы
- enfuse - склейка нескольких изображений с разной экспозицией для проявления высветления темных участков и затемнения светлых. Он же hdr.
Процесс
Для того, чтобы собрать снимок с хорошим качеством нам потребуется несколько исходников с разной экспозицией. Конечно же можно использовать брекетинг и готовые файлы с фотика пропустив конвертирование. А можно из одной равки сделать несколько кадров с экспокоррекцией на любое значение от -3 до 3 единиц.
$ ufraw --out-type=jpg --out-depth=8 --wb=camera --output=001.jpg --exposure=-0.33 --black-point=auto _DSC3046.NEF
$ ufraw --out-type=jpg --out-depth=8 --wb=camera --output=002.jpg --exposure=auto --black-point=auto _DSC3046.NEF
$ ufraw --out-type=jpg --out-depth=8 --wb=camera --output=003.jpg --exposure=0.33 --black-point=auto _DSC3046.NEF
Важные параметры:
- –out-depth=8 - глубина цвета (зависит от формата сохранения), принимает значения 8 и 16;
- –wb=camera - конвертер пытается определить баланс белого по метаданным;
- –exposure=auto - коррекция экспозиции, auto\0 означает без коррекции, либо значение от -3 до 3;
- –black-point=auto - определение черной точки по метаданным.
Мы получили три кадра, которые в дальнейшем можно просуммировать и получить результат.
А теперь их можно склеить в один кадр.
$ enfuse -o result.jpg --exposure-weight=0 --saturation-weight=0 --contrast-weight=1 --hard-mask *.jpg
Результат гораздо симпатичнее.
Литература
Категории: Обработка изображений HowTo