15 Июнь 2009

Qtpfsgui: создание HDR изображений из нескольких кадров

В этой заметке приводится краткое описание и впечатления по созданию изображений с высоким динамическим диапазоном (HDR, High Dynamic Range) с помощью программы Qtpfsgui.


Небольшой исторический экскурс
Как справедливо отмечают авторы ресурса HDRmania, первое сообщение о процессе компрессии динамического диапазона обычных цифровых изображений, снятых с экспокоррекцией, появилось в 1993 г. А в 1995 году последовало появление соответствующей математической теории.
В 1997 году на конференции SIGGRAPH (Special Interest Group on GRAPHics and Interactive Techniques) Пол Дебевек (Paul Debevec), исследователь из Института Южной Калифорнии, представил метод соединения нескольких изображений, сделанных с разной экспозицией, для формирования единого HDR изображения. С ростом популярности цифровых фотоаппаратов и удобного для использования программного обеспечения термин HDR начал широко применяться для обозначения этого процесса. Более подробный обзор, с указанием на научные статьи, есть у меня на английском.


Cъёмка HDR-изображений
Для того, чтобы получить HDR-изображение, потребуется снять несколько кадров с разным значением экспозиции (или экспокоррекции). Напомню, что экпокорреция это поправка в экспозицию снимка относительно той, которая определена при помощи экспонометра. Для регистрации HDR-изображения:

  1. Устанавливаем камеру на штативе.
  2. Переводим камеру в ручной режим установки экспозиции. Выберите нужное значение диафрагмы для вашего кадра (например, f/8 или меньше, если вам нужна большая глубина резкости) и установите минимальное значение ISO.
  3. Изменяем освещённость в самой яркой части кадра (точечным замером или в режиме Av, чтобы учесть только её) и отмечаем время экспозиции. Сделайте то же самое с самой глубокой тенью в кадре.
  4. Определяем число и величину нужных экспозиций. Для этого возьмите за основу выдержку, измеренную для светлой части. Умножьте это число на 4, чтобы получить следующее значение экспозиции, отличающееся на 2 EV. Умножайте на 4 для получения следующих значений, пока не превысите экспозицию, измеренную для тени. Для большинства кадров вне помещения, не включающих солнце, 3 экспозиций с шагом 2 EV часто достаточно, чтобы покрыть весь динамический диапазон.
Напомню, что сдвиг экспозиции на 1 EV означает изменение количества света, попавшего на фотоматериал, в 2 раза. Для создания HDR-снимка часто достаточно сфотографировать три кадра: с экспокоррекцией -1 EV, 0 EV и +1 EV.


Работа с Qtpfsgui
Трудновыговариваемое название программы Qtpfsgui объясняется самими авторами так: Qt это библиотека Qt4 для отображения графических элементов, pfs - главная внутренняя библиотека, а gui - Graphical User Interface, графический интерфейс пользователя. На такие названия, конечно, хочется попенять авторам. Но главное, что программа делает своё дело, и делает его хорошо.

Итак, фотографии сняты и теперь можно приступить к созданию HDR-снимка. Запускаем Qtpfsgui и выбираем все файлы изображений для HDR-фотографии сразу. После этого нас спросят об алгоритме построения HDR снимка. Это показано на рисунке ниже:


После этого будет рассчитано HDR-изображение из указанных снимков. Созданное изображение появится в главном окне программы:


Созданное изображение можно сохранить в один из форматов, поддерживающих HDR:
  1. OpenEXR (расширение: exr )
  2. Radiance RGBE (расширение: hdr)
  3. Tiff: 16bit, 32bit (float) и LogLuv (расширение: tiff)
  4. Raw (различные расширения)
  5. PFS native format (расширение: pfs)
Если же требуется просматривать созданное изображение обычными графическими просмотрщиками, имеет смысл прибегнуть к тональной компрессии снимка и сохранить его в JPEG/TIFF. Тональная компрессия это преобразования тональных значений изображения из более широкого диапазона в более узкий. Например, HDR изображение с динамическим диапазоном 100 000:1 будет преобразовано в изображение с тональными значениями в диапазоне от 0 до 255. Для этого нажимаем на кнопку Tonemap the HDR и выбираем один из методов тональной компрессии. Qtpfsgui содержит 8 алгоритмов тонального отображения, среди которых можно отметить следующие алгоритм Drago и Fattal.

Алгоритм Drago предназначен для имитирования восприятия человеческого глаза и полезен, когда нужно добиться естественных тонов. Алгоритм Fattal хорош для создания сюрреалистических, очень эффектных фотографий, однако он усиливает шумы и может создавать при одних и тех же параметрах из HDR фотографий при тоновой компрессии фотографии, выглядящие по-разному.

Для примера приведу HDR-изображение, которое я снял своей древней как мамонт камерой Casio QV-4000: три фотографии со значениями экпокоррекции -2EV, 0EV и +2EV пересчитаны в изображение с высоким динамическим диапазоном:

После применения тональной компрессии полученное HDR-изображение можно сохранить в форматах JPG или TIFF.

Ссылки
Ответы на часто задаваемые вопросы по HDR можно найти тут (на английском) и здесь, а так же можно посмотреть на образцы фотографий. Скачать Qtpfsgui можно на сайте авторов.

а если копируете статью - поставьте ссылку на оригинал!

11 комментариев:

Shortbread 15.06.2009 7:26:00  

"если вам нужна больНая глубина резкости"
"что программа делает своё дело, и дЕлает его хорошо."
Интересная статья, как и все остальные, впрочем. Именно с Вашей помощью я стал дебианщиком, ещё с Саржа. Да и диски помогли, которые вы выслали. Спасибо :)

virens 15.06.2009 13:01:00  

2 Shortbread комментирует...
Спасибо за найденные косяки, правки внёс.

Именно с Вашей помощью я стал дебианщиком, ещё с Саржа.
Очень рад :-)

triklozoid 15.06.2009 16:15:00  

"Измяем освещённость в самой яркой.." - ИзмЕНяем
"После этого нас спросят об алгоритме, построение HDR снимка." - кажется что-то не так, что может быть "..алгоритме построения HDR снимка"?

Очень вовремя появился пост, только на этих выходных пытались вспомнить, как же называется эта штука.

Qosko 15.06.2009 17:00:00  

Ну вот. А то я всё photomatix'ом под win пользовался. Через virtualbox. Спасибо, автор.

virens 15.06.2009 17:53:00  

2 triklozoid комментирует...

Спасибо за правки, внёс в пост. ЧТо-то спелчекер совсем мышей не ловит :-)

Очень вовремя появился пост, только на этих выходных пытались вспомнить, как же называется эта штука.
Давно собрался написать, да всё руки не доходили. Рад, что пригодилось.


2 Qosko комментирует...
Ну вот. А то я всё photomatix'ом под win пользовался.
Не знаю, кто такой фотоматикс. КТПФСГУИ в целом справляется с задачей, хотя интерфейс, если честно, немного скудоват.

Evtomax 16.06.2009 22:10:00  

Вот если бы в фотографии-примере сделать ещё пару снимков с уменьшением экспозиции, то было бы намного интереснее, ибо небо получилось бы полностью незасвеченным.

Стоит ещё добавить, что qtpfsgui умеет автоматически выравнивать снимки друг относительно друга, поэтому штатив хоть и желателен, но не обязателен. Ещё на фотоаппарате следует отключить автоматическую настройку баланса белого.

Владислав 18.06.2009 12:36:00  

В qtpfsqui хоть и есть функция автоматического выравнивания снимков, но она довольно часто ошибается и создает неприятные артефакты. Также не очень хорошо справляется с задачей сведения кадров, в которых присутствуют движущиеся объекты. Лучше всего, на мой взгляд, с этим справляется фотошоп.

А наиболее приемлемый алгоритм тональной компрессии - Mantiuk. С помошью него можно добиться как вполне естественных изображений, так и сюрреалистичных эффектов.

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

Evtomax 18.06.2009 19:11:00  

Владислав, делал до 8-ми снимков с разными экспозициями без штатива, и qtpfsgui их отлично сводил, используя align_image_stack из hugin.

Алгоритм Mantiuk тоже является моим любимым :)

Fatroll 21.06.2009 17:33:00  

хм, что то на последней картинке больше на обычную фотографию похоже (:

у меня, например, вот так (photomatix под вайном)

http://lh4.ggpht.com/_K6UfCzFYeGM/Sj42LSoYGhI/AAAAAAAAAK8/C-nfWYkCzSQ/s912/hdr.png

Evtomax 21.06.2009 21:06:00  

Fatroll, а то, что вы снимали, прекрасно влезает в LDR, поэтому делать HDR бессмыслено :)

Fatroll 23.06.2009 12:13:00  

Evtomax, а что, по-вашему, должно не влезать в LDR и влезать в HDR?)

Поиск по сайту

Архивы блога

Новостная лента


Читать новости блога удобнее, подписавшись на
-ленту.
краткая лента новостей.
Блокнот интересных ссылок в Twitter
Получать на E-mail Записки дебианщика rss2email.ru

Последние новости

Все записки дебианщика

Скачать локальную версию блога "Записки дебианщика" для offline-просмотра можно здесь. Архив 7z занимает ~120Мб, в распакованном виде ~2Гб.

Постоянные читатели

Экипаж

Автор
My Photo
Михаил Конник
Инженер-физик, занимаюсь оптикой и цифровой обработкой изображений. Профиль
Главный редактор
Моя фотография
Programmaster, в полный рост

Кнопки