Linux: Обрабатываем RAW-изображения

resize_resultМы не будем говорить о том, как правильно\неправильно обрабатывать raw’ки. Мы поговорим об инструментах (конечно же консольных), которые можно применять для конвертирования, склейки и других операций.

Фото на превью - это то, что удалось вытащить из raw (конечно же оно пожатое в джипег и отресайзено для публикации).

Сначала немного о технике если хотим получить относительно хороший снимой:

  • снимаем с брекетингом по экспозиции в 1-2 единицы в зависимости от освещения. Можно не угадать и засветить снимок. Тогда уже кадр не вытянуть. У большинства камер есть режим при котором они показывают засвеченные области. resize_2019-07-28 16-06-42.JPG
  • сохранение в жипег можно оставить чисто номинальное с низким разрешением и качеством (просто чтобы был если надо кому-то быстро-быстро показать на компе итоговый снимок).
  • по-возможности включить 14-bit raw или больше - там можно вытянуть еще данных о цветности.

Исходные данные

Картинка, которую сохраняет фотик без предварительных обработок picture control (для canon оно называется иначе) совсем никуда не годится.

resized_DSC3046.JPG

Режимы съемки: 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 - определение черной точки по метаданным.

Мы получили три кадра, которые в дальнейшем можно просуммировать и получить результат.

2019-07-28-16:51:28_1129x1034.png

А теперь их можно склеить в один кадр.

$ enfuse -o result.jpg --exposure-weight=0 --saturation-weight=0 --contrast-weight=1 --hard-mask *.jpg

resize_result.jpg

Результат гораздо симпатичнее.

Литература

Категории: Обработка изображений HowTo