Уважаемые форумчане, есть тут у меня одна задумка.
Делиться ей пока смысла нету, ибо хочется превратить сначала ее в нечто осмысленное и понять, что аналогов (пока еще) не создали (или уже создали и броить тогда эту задумку).
Так вот, хочу понять математику HDR. То есть, грубо говоря, научиться самому считать его попиксельно с калькулятором.
Исходные данные:
1) картинки эксповилки идеально совмещены - алгоритмы совмещения отбрасываем
2) известны параметры каждого из снимков - ISO, выдержка, диафрагма, фокусное, физический размер матрицы, количество мегаписькелей, размеры по горизонтали и вертикали и тд (хотя пока не сильно могу представить, что еще кроме перечисленных может понадобиться)
3) есть сами снимки - чтобы не заморачиваться с форматами файлов, пусть это будут двумерные целочисленные массивы распределения яркостей в каждом канале пространства RGB (хоть восьми, хоть более битные, алгоритма это ПОКА не меняет)
4) НЕТУ кривой отклика матрицы камеры - для начала предположим, что она линейна (если кто может поделиться алгоритмами расчета этой кривой на основании только снимков по эксповилке - ОТЛИЧНО)
5) тональным отображением займемся ПОТОМ (да и на самом деле не сильно нужно оно для моей задумки - есть куча готового софта)
Кто может поделиться формулами и алгоримом ? Или хотя бы ссылками на литературу ? А то запросы по поводу "математики HDR" и аналогичные дают в лучшем случае ссылки на то, как это красиво (или не очень) сделано в современных играх.
Спасибо.
Математика HDR - где почитать ???
Всего 15 сообщ.
|
Показаны 1 - 15
Математика HDR - где почитать ???
Re[Alone Stranger]:
а тут не осталось никакой математики
если картинка в линейном (или известном) масштабе то тупо умножаем картинку на отношение выдержек (что б цвет одного и тогоже предмета на фсех картинках стал одинаковый)
и тупо накладываем ффотощёпе в порядке от длинной к короткой выдержке ,с маской включенной там где на имеющейся картинке пересвет, фсё.
особено популярен при этом формат Radiance RGBE это 8:8 float тогда если выдержки кратны стопу то 8 битная матниссса остаётся на месте а число стопов пишеться в экспоненту и фсё просто сваливается в кучу.
для оценки неизвестной гаммы картинки надо слехка размыть после чего построить регресию уровень фтарой картинки от уровня первой
тонмаппинга кошерного формулы также общеизвесны, называется это iCAM
если картинка в линейном (или известном) масштабе то тупо умножаем картинку на отношение выдержек (что б цвет одного и тогоже предмета на фсех картинках стал одинаковый)
и тупо накладываем ффотощёпе в порядке от длинной к короткой выдержке ,с маской включенной там где на имеющейся картинке пересвет, фсё.
особено популярен при этом формат Radiance RGBE это 8:8 float тогда если выдержки кратны стопу то 8 битная матниссса остаётся на месте а число стопов пишеться в экспоненту и фсё просто сваливается в кучу.
для оценки неизвестной гаммы картинки надо слехка размыть после чего построить регресию уровень фтарой картинки от уровня первой
тонмаппинга кошерного формулы также общеизвесны, называется это iCAM
Re[Alone Stranger]:
Мне кажется, надо найти точки, значения которых, например для пересвета, выше определенного (задаваемого вами) уровня, и заменить их на точки из другой картинки.
Re[Алексей2000]:
Да нет.
Все как-то не только не совсем так, но даже совсем не так.
Поставим вопрос по другому. Вот выдержка с одного сайта http://www.fcenter.ru/online.shtml?articles/hardware/videos/8515
Теоретические основы процесса получения HDRI из обычных фотографий рассмотрены в статье Пола Дебевека еще в 1997 году и основываются на принципе reciprocity (взаимности) для регистрирующего устройства, согласно которому увеличение времени экспозиции для меньших освещенностей дает то же значение экспозиции, что и большее освещение при соответственно уменьшенном времени экспозиции.
Кто знает, где найти эту статью ?
Удалось нарыть код из свободно-распространяемой софтины qtpfsgui. Кто свободно разбирается в С-коде ? Сможете выделить арифметику ?
Все как-то не только не совсем так, но даже совсем не так.
Поставим вопрос по другому. Вот выдержка с одного сайта http://www.fcenter.ru/online.shtml?articles/hardware/videos/8515
Теоретические основы процесса получения HDRI из обычных фотографий рассмотрены в статье Пола Дебевека еще в 1997 году и основываются на принципе reciprocity (взаимности) для регистрирующего устройства, согласно которому увеличение времени экспозиции для меньших освещенностей дает то же значение экспозиции, что и большее освещение при соответственно уменьшенном времени экспозиции.
Кто знает, где найти эту статью ?
Удалось нарыть код из свободно-распространяемой софтины qtpfsgui. Кто свободно разбирается в С-коде ? Сможете выделить арифметику ?
Re[Alone Stranger]:
да какую нафиг арефметеку ещё раз11111ёёёёёёё
смысл фсево что бы сначало совместить фсе цвета на фсехъ картинках. если это снято на цыфру в raw там линейность идеальная надо просто домножить на отношение выдержек ну может немного подекрутить левелс если у объектива диафрагма косо сработала. можно опять же по самой картинке тупо среднее пощитать по одной и той же зоне которая сохранилась на обоих картинках.
если это снято на плёнку то надо построить ёё цветовой профиль после чего картинки можно перевести уже в линейное RGB в котором можно клеить.
после чё просто поцтавлять за место пересвеченного со следующего кадра с более короткой выдержкой итд. фсё. если хочеца по приличнее то маску подразмыть ещё. ффотощопе зделать 1 раз руками и фсё панятно будет это 1й клас церковно-прихацкой щколы
hdrshop можно глянуть он типа наглядно показывает что он делает, кривая как строиться итд но если это цыфра тут просто откровенно не фига делать , фсе проблеммы только в совмещениии, в движении объектов итп
смысл фсево что бы сначало совместить фсе цвета на фсехъ картинках. если это снято на цыфру в raw там линейность идеальная надо просто домножить на отношение выдержек ну может немного подекрутить левелс если у объектива диафрагма косо сработала. можно опять же по самой картинке тупо среднее пощитать по одной и той же зоне которая сохранилась на обоих картинках.
если это снято на плёнку то надо построить ёё цветовой профиль после чего картинки можно перевести уже в линейное RGB в котором можно клеить.
после чё просто поцтавлять за место пересвеченного со следующего кадра с более короткой выдержкой итд. фсё. если хочеца по приличнее то маску подразмыть ещё. ффотощопе зделать 1 раз руками и фсё панятно будет это 1й клас церковно-прихацкой щколы
hdrshop можно глянуть он типа наглядно показывает что он делает, кривая как строиться итд но если это цыфра тут просто откровенно не фига делать , фсе проблеммы только в совмещениии, в движении объектов итп
Re[L4m3r]:
Ну и фигня получится, микроконтраст будет на нуле )) Как это выглядит можете это увидеть применив к фото Shadow/Highlights с нулевыми радиусами для теней и светов.
Re[Цых]:
Аффтар выпий йаду, это про оригинальное фото а не про цветокоррекцию. оригинальное фото ХД не отличается по цвету от ЛД ни как во бще. как РАВ и ЖПГ, токо в ХД ещё больше бит внизу и фсё.
отличается ХД только качетсвом прорисовки теней а ни как не цветом, соответственно по этому потом тени там можно тянуть дохренищща и делать кислотные картикни хДДДД
так щто там просто заменяется изображение с одного кадра на то же самое изображение с другого кадра в том месте где на втором кадре лучше качетсво вот и фсё. цвет на накладываемых участках совпадает это закон физики, иначе это не фото.
отличается ХД только качетсвом прорисовки теней а ни как не цветом, соответственно по этому потом тени там можно тянуть дохренищща и делать кислотные картикни хДДДД
так щто там просто заменяется изображение с одного кадра на то же самое изображение с другого кадра в том месте где на втором кадре лучше качетсво вот и фсё. цвет на накладываемых участках совпадает это закон физики, иначе это не фото.
Re[L4m3r]:
нет, не так делается )) иначе тупо получится фото с очень низким контрастом. Если не нравится Shadow/Highlight, попробуйте HRD Pro с сулевым радиусом
А йад себе оставьте, вам он нужнее судя по постам.
А йад себе оставьте, вам он нужнее судя по постам.
Re[Цых]:
контраст будет стоко скоко на мониторе накрутиш, а в ХД вообще нет никакого контраста там тока цыфры есть
как и в РАВе.
ещ раз ХД это тупо РАВ только у него больше значащих бит на пиксель
как теперь из 2х РАВов склеить 1 с большим числом ьит? да тупо пересадить со второго что непрорисовано на первом вот и фсё
а что прорисовано на обоих должно совпадать иначе будет косяк в месте склейки
-10 стоп----- +2 -- +6
1111111111111 первый рав длинная выдержка
ыыыы22222222222222 фтарой рав кароткая
111111111111122222 ХД
фтарой рав при этом надо умножить на 16 что бы он лёг на своё место на щкале.
ещ раз ХД это тупо РАВ только у него больше значащих бит на пиксель
как теперь из 2х РАВов склеить 1 с большим числом ьит? да тупо пересадить со второго что непрорисовано на первом вот и фсё
а что прорисовано на обоих должно совпадать иначе будет косяк в месте склейки
-10 стоп----- +2 -- +6
1111111111111 первый рав длинная выдержка
ыыыы22222222222222 фтарой рав кароткая
111111111111122222 ХД
фтарой рав при этом надо умножить на 16 что бы он лёг на своё место на щкале.
Re[L4m3r]:
Млиа, ну сделай и покажи что получается, теоретег )))
Re[Цых]:
ъщъ раз для тех кто прогуливал арефметеку в 1 класе - если на картинке одинаковые предметы имеют разный цвет то это никакое дажэе отдалённо не ХД а это называется ФОТО МОНТАЖЬ
ХД это НЕ МОНТАЖЬ, это съмка ОДНОГО ФОТА по частям
и ненадо тупо пялиться на него закрутив при этом гамму до 4 что бы можно было там хоть что то разобрать,, а ево берёш и заливаеш environment map-ом в игрущку какую нить и фперёд и фсё там будет отражаться как надо
не для фотожопографоф дорвавшихся до кнопки "зделать клёва" фсё это ваще делалось
ХД это НЕ МОНТАЖЬ, это съмка ОДНОГО ФОТА по частям
и ненадо тупо пялиться на него закрутив при этом гамму до 4 что бы можно было там хоть что то разобрать,, а ево берёш и заливаеш environment map-ом в игрущку какую нить и фперёд и фсё там будет отражаться как надо
не для фотожопографоф дорвавшихся до кнопки "зделать клёва" фсё это ваще делалось
Re[L4m3r]:
Так, народ, а по теме есть что-нить все-таки ?
Или нет ?
Если кроме разных выдержек у эксповилки еще и диафрагма разная ?
Как считать выдержки ?
И вообще - есть кусок кода - кто переведет в алгоритм?
Там кроме сугубо арифметических действий часто применяется операция максимум по каналу в пикселе из R, G, B
Публиковать - надо многопостоффф, ибо длинный :)
Буду - если кто подпишется в перевод.
Или нет ?
Если кроме разных выдержек у эксповилки еще и диафрагма разная ?
Как считать выдержки ?
И вообще - есть кусок кода - кто переведет в алгоритм?
Там кроме сугубо арифметических действий часто применяется операция максимум по каналу в пикселе из R, G, B
Публиковать - надо многопостоффф, ибо длинный :)
Буду - если кто подпишется в перевод.
Re[Alone Stranger]:
да кто ж снимает с разной диафрагмой
размытие разное будет и картинки не сложаться. токо если облака или солнце впечатывать прокатит. опять же лень умножить на неё если что?
максимум берут что бы построить ГРЁБАННУЮ МАСКУ ПРО КОТОРОУЮ НАПИСАНО УЖЕ ё10 РАЗ -
ТО ЧТО ПЕРЕСВЕЧЕНО НА ТЕКУЩЕМ КАДРЕ БЕРЁТСЯ С КАДРА С БОЛЕЕ КОРОТКОЙ ВЫДЕРЖКОЙ УМНОЖЕННОГО НА ОТНОШЕНИЕ ВЫДЕРЖЕК (кароче умноженного на столько что бы цвета софпали)
повторить для всех оставшихзся кадров в порядке уменьшения выдержки
ЭТО ФСЁЁЁЁ там больше ни чего нет
можно было уже 666 раз посмотреть фсё ффотощопе, ну лень так лень
размытие разное будет и картинки не сложаться. токо если облака или солнце впечатывать прокатит. опять же лень умножить на неё если что?
максимум берут что бы построить ГРЁБАННУЮ МАСКУ ПРО КОТОРОУЮ НАПИСАНО УЖЕ ё10 РАЗ -
ТО ЧТО ПЕРЕСВЕЧЕНО НА ТЕКУЩЕМ КАДРЕ БЕРЁТСЯ С КАДРА С БОЛЕЕ КОРОТКОЙ ВЫДЕРЖКОЙ УМНОЖЕННОГО НА ОТНОШЕНИЕ ВЫДЕРЖЕК (кароче умноженного на столько что бы цвета софпали)
повторить для всех оставшихзся кадров в порядке уменьшения выдержки
ЭТО ФСЁЁЁЁ там больше ни чего нет
можно было уже 666 раз посмотреть фсё ффотощопе, ну лень так лень
Re[Alone Stranger]:
Создать ХДР это еще не все. Главное - показать его на обычном мониторе
[quot]
Qtpfsgui содержит 8 алгоритмов тонального отображения. Среди них можно отметить следующие:
Drago - предназначен для имитирования восприятия человеческого глаза и полезен, когда нужно добиться естественных тонов.
Fattal - хорош для создания сюрреалистичных, очень эффектных фотографий. Правда, он существенно усиливает шумы и относится к классу локальных операторов: при одних и тех же переметрах из HDR фотографий разного размера получатся LDR, выглядящие по-разному.
Изображения, полученные с помощью Fattal, бывает интересно совмещать с фотографиями, полученными с помощью других операторов: так можно добиться лучшего баланса между реализмом и эффектностью.
[/quot]
[quot]
Qtpfsgui содержит 8 алгоритмов тонального отображения. Среди них можно отметить следующие:
Drago - предназначен для имитирования восприятия человеческого глаза и полезен, когда нужно добиться естественных тонов.
Fattal - хорош для создания сюрреалистичных, очень эффектных фотографий. Правда, он существенно усиливает шумы и относится к классу локальных операторов: при одних и тех же переметрах из HDR фотографий разного размера получатся LDR, выглядящие по-разному.
Изображения, полученные с помощью Fattal, бывает интересно совмещать с фотографиями, полученными с помощью других операторов: так можно добиться лучшего баланса между реализмом и эффектностью.
[/quot]
Re[Алексей2000]:
от: Алексей2000
Создать ХДР это еще не все. Главное - показать его на обычном мониторе
Еще раз - для показать уже существует некий софт, который это КАК-ТО делает. Ну и пусть. У меня задача создать НЕЧТО, напоминающее по математике ХДР. Записать его в виде ХДР и потом отобразить в ЛДР - это задача другого софта и совсем НЕ для оценки жизнеспособности идеи.
То есть грубо говоря мое нечто должно иметь математику, полностью аналогичную ХДР, но для другого измерения.... ну не знаю как бы так описать, чтобы и не раскрыть раньше времени и понятно было.
Короче, мне нужен именно алгоритм обсчета каждой точки ХДР из трех ЛДР. Я его переделаю под свою задачу, потом видно будет.
