LINUX.ORG.RU

HDR фото в Linux


0

2

Кто занимается HDR фотографией, подскажите - какой свободный софт в Linux лучше использовать, какие настройки и как.

Вот примеры того, что пока получается у меня:

http://ompldr.org/vYzl3eQ

http://ompldr.org/vYzl3eg

http://ompldr.org/vYzl4MQ

http://ompldr.org/vYzl4Mw

http://ompldr.org/vYzl4NA

http://ompldr.org/vYzl4NQ

Делал так - снято на мыльницу Canon 8 mpx в jpeg с рук, выравнивание в hugin, обработка в luminance hdr операторами drago, fattal, mantiuk, сведение и постобработка в gimp.

А как делаете Вы?

★★★★★
Ответ на: комментарий от Eddy_Em

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

curufinwe ★★★★★
() автор топика
Ответ на: комментарий от curufinwe

Вообще-то, основная задача HDR - «впихнуть невпихуемое», т.е. воткнуть широкий динамический диапазон в узкий (например, посредством логарифмического или кусочно-линейного преобразования яркости набора фото с разными экспозициями).

Eddy_Em ☆☆☆☆☆
()

Мне понравилось второе тем, что оно наиболее реалистично. Сюрреализм не нравится.

valentin_v13 ★★★
()
Ответ на: комментарий от Eddy_Em

Впихнуть можно по разному. Те же операторы fattal и mantiuk из luminance-hdr как раз предназначены для создания нереалистичной картинки (а drago - реалистичной). Видел разные HDR фото, многие еще менее реалистичны, чем мои. Но смотрятся намного красивее. Вот и пытаюсь узнать, что я делаю не так.

curufinwe ★★★★★
() автор топика
Ответ на: комментарий от curufinwe

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

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Возможно, это из-за съемки в jpeg, а не raw, что вроде как некошерно. Но в raw моя мыльница не снимает. Короче, как я понял, у меня мало бликов и светлых деталей?

curufinwe ★★★★★
() автор топика
Ответ на: комментарий от curufinwe

Все слишком темное получилось. Кстати, из jpeg тоже можно HDR лепить (все равно получается в итоге композиция, а умный софт, по идее, должен и шумы, возникающие из-за сжатия с потерями, ликвидировать).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

В общем, можно в octave отточить алгоритм, чтобы параметры восстановления получить.

Хотя, можно и вообще делать HDR в octave (и даже выравнивание фотографий, хотя, конечно, проще сначала выровнять hugin'ом).

Eddy_Em ☆☆☆☆☆
()

на мыльницу Canon 8 mpx в jpeg с рук

поэтому и заметно шум и нечеткость.

Сколько кадров делаешь?

Zodd ★★★★★
()
Ответ на: комментарий от curufinwe

Лучше штук 8 делать. А экспозицию экспериментально подбирать: т.е. сначала найти пределы экспозиции, а затем последовательно снимать от самой короткой до самой длинной.

И лучше все-таки делать это со штатива.

И чтобы не было движущихся элементов.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Штатив - это да. Экспозицию меняю через +- от минимальной до максимальной фотоаппарата, мыльница же.

curufinwe ★★★★★
() автор топика
Ответ на: комментарий от curufinwe

Советую почитать алгоритмы получения HDR.

Процесс такой: сначала каждое фото бинаризуем с определенным порогом и выделяем те области, которые должны присутствовать на итоговом; затем, исходя из значений экспозиции для данного фото, преобразуем яркость нужных областей (логарифмически, либо же линейно; логарифмически, ИМХО, будет намного лучше); затем для полученных кусочных изображений находим перекрывающиеся куски и восстанавливаем яркость в них (усреднением медианой, например); неперекрывающиеся куски оставляем без изменений; затем сращиваем области (чтобы не было перепадов яркости), например, бикубической интерполяцией (или же проходимся, скажем, медианным фильтром 3x3, правда, в этом случае разрешение итогового фото уменьшится).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от curufinwe

Это - яркие области. Их можно оставить лишь из фото со средней экспозицией.

Хуже, когда движутся объекты, плохо по яркости отличающиеся от соседних неподвижных. Но и в этом случае можно найти выход из положения (например, просто выбросив эти объекты из итоговой фотографии, но придется сделать по нескольку кадров с каждой экспозицией).

Eddy_Em ☆☆☆☆☆
()

третье фото понравилось.


одна из возможностей hdr - создание нереалистичных эффектов. Такого плана фото и пытаюсь сделать.

у вас хорошо получается )

kelyar ★★★★★
()
Ответ на: комментарий от Eddy_Em

Имхо, как то так и работает оператор drago. Дает реалистичную картинку. Кстати, когда я использую только его, получаются нормальные картинки без шумов и черноты, похожие на обычные фото, только хорошо проработанные. Но хочется сюрреалистических эффектов.

curufinwe ★★★★★
() автор топика
Ответ на: комментарий от curufinwe

Имхо, как то так и работает оператор drago. Дает реалистичную картинку. Кстати, когда я использую только его, получаются нормальные картинки без шумов и черноты, похожие на обычные фото, только хорошо проработанные.

Динамический диапазон при этом визуально улучшается?

Но хочется сюрреалистических эффектов.

Для этого можно использовать нелинейное преобразование яркости.

А можно и просто поколдовать с раздельными преобразованиями компонент Y, U и V (или H, S и V).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Спасибо за идею! Только, возможно, цвет неба при этом получится не такой насыщенный. Хорошо должно получится при высоком реализме.

curufinwe ★★★★★
() автор топика
Ответ на: комментарий от curufinwe

Немножко поколдовав над S-компонентой, можно «поднять» насыщенность. А меняя V-компоненту - «добавить красочности».

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от curufinwe

Только лучше всего промежуточные результаты хранить во float'ах, а уже после всех коррекций возвращать к char.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Визуально да. Становятся видны яркие и темные детали, которые на обычном фото недодержаны/передержаны. Все те детали видны, что и глазом.

curufinwe ★★★★★
() автор топика
Ответ на: комментарий от curufinwe

Ну, это и есть нормальное HDR-преобразование.

Кстати, а этот самый drago во float'ах умеет цветовые компоненты сохранять? Или хотя бы в short'ы?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Если делать в octave, я так думаю для каждого фото все равно вручную параметры подбирать придется. Как промежуточный результат в виде кортинки лучше всего выводить?

curufinwe ★★★★★
() автор топика
Ответ на: комментарий от Eddy_Em

Имхо, тот drago что в luminance-hdr, только обычные 8 bit на канал картинки выдает.

curufinwe ★★★★★
() автор топика
Ответ на: комментарий от curufinwe

Если хорошенько отточить алгоритм, руками ничего делать не придется: только задать набор фото и указать экспозицию для каждого (ЕМНИП, в octave с EXIF не очень-то).

Промежуточные результаты лучше всего хранить в виде массива float (double здесь будет излишне, а всякие int'ы чреваты переполнениями).

Для проработки отдельной фотографии нужно:

  • преобразовать ее в HSV (float)
  • по порогу (например V<64 и V>240 - вот его-то и надо экспериментально подобрать, а потом уже можно ставить на поток) построить булевую маску, устанавливая в единицу лишь пиксели с V, лежащим в заданном диапазоне
  • исходя из значений экспозиции, преобразовать V (V₁ = V₀·k, где k - коэффициент, полученный из экспозиции: скажем, если у нас набор фото с T = 1/64, 1/32, …, 1с, то k = T·64)
  • сохранить результат (H,S,V + маска) + отдельно (для упрощения дальнейших вычислений) экстремальные значения V

Накопив результаты, находим для всех фото min(V) и max(V), после чего эквализуем гистограмму простейшим способом, т.е. находим коэффициент преобразования яркости так, чтобы итоговый V вписывался в [0..255].

А затем начинается самое интересное: то, о чем я выше говорил.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Спасибо, займусь на досуге. Интересно, что получится. Вообще, было бы неплохо все так автоматизировать. Подобрать дающий нужный результат алгоритм, и все - приехал, исходные фото слил, запустил обработку - получил hdr.

curufinwe ★★★★★
() автор топика
Ответ на: комментарий от curufinwe

Чтобы автоматизировать по-полной, придется с месяцок по вечерам посидеть. Я так над простенькими вроде задачками довольно долго бился (т.к. вроде бы автоматизируешь - ан нет, какие-нибудь «левые финтифлюшки» вылезают, приходится додумывать, как от них избавиться).

А насчет разработки алгоритма HDR я давно уже думал, но природная лень-матушка не дает работать ☺

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Кстати, для начала можно простейший алгоритм проработать:

  • все фото преобразуются в HSV
  • V для каждого фото преобразуется, как я описывал выше, исходя из значений экспозиции
  • медианной фильтрацией полученного набора H_i, S_i, V₁_i получаем «как бы HDR»
  • корректируем гистограмму по V для вписывания в набор 0..255
Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Еще бы не мешало алгоритм удаления «призраков» сделать. Проще всего эту проблему как мне кажется решить, если делать 3-4 фото с одинаковой экспозицией, а потом брать только неизменившиеся фрагменты.

Вообще имхо под linux бы очень не помешала еще одна прога для hdr. Потому что с luminance приходится сильно шаманить, получать несколько картинок разными операторами, потом в гимпе склеивать. Нужно более простое и гораздо более автоматизированное приложение, с поддержкой float компонентов.

curufinwe ★★★★★
() автор топика
Ответ на: комментарий от kraftello

Есть такая! Вообще, это не опасно?

curufinwe ★★★★★
() автор топика
Ответ на: комментарий от kraftello

Прочитал faq. Понял, что безопасно. Это нереально круто, СПАААСИИИБООО!!!!

curufinwe ★★★★★
() автор топика
Ответ на: комментарий от curufinwe

> Вот и пытаюсь узнать, что я делаю не так.

Это нетехнический вопрос, на самом деле. С этим тебе в художественную школу надо идти, изучать правила композиции и прочую муть. Ну и плюс талант, конечно же.

provaton ★★★★★
()
Ответ на: комментарий от kraftello

Лучи радости тебе! Надо же, я и не догадывался что такое возможно. Ты вдохнул новую жизнь в мою мыльницу!

curufinwe ★★★★★
() автор топика

Это не совсем hdr.

Это в некоторой степени схоже, но hdr это просто технология позволяющая уместить большой динамический диапазон в малый (носителя). То есть, по сути - масштабирование динамического диапазона. При которой, очевидно не предполагается искажений в передаче динамического диапазона. То есть, то что было светлее - должно так и остаться более светлым, разложение светлых и тёмных пятен должно остаться неизменным, хотя разница между ними должна уменьшится.

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

sin_a ★★★★★
()
Ответ на: комментарий от curufinwe

Еще бы не мешало алгоритм удаления «призраков» сделать.

Медианная фильтрация удалит и «призраки», и шумы.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от sin_a

Ну да, я понял. Реалистичный hdr у меня получается снимать, разве что мыльница такое качество как по ссылкам не дает. А вот с тонмаппингом сложнее.

curufinwe ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.