Часто пейзажная фотография оказывается сложной задачей, потому что быстро движущиеся объекты переднего плана (люди, автомобили и т. Д.) Загромождают фоновую сцену. Особенно когда вы находитесь в большом городе или популярном месте, сделать такой «чистый» снимок может быть очень сложно.
Один из способов обойти это - поставить камеру на штатив, использовать пульт дистанционного управления, чтобы сделать много фотографий (ожидая, скажем, 5–15 секунд между ними), а затем сгенерировать композицию с использованием медианы (в ваших «сырых» фотографиях) каждого пикселя.
Вот простой пример. Представьте себе шоссе с множеством проезжающих машин. На одной фотографии шоссе много «беспорядка на переднем плане», также известного как автомобили:
Но, допустим, мне почему-то нужно фото шоссе без машин. Это район с высокой проходимостью и маловероятно, что шоссе будет пустым (особенно днем). Но вот что происходит, когда я делаю 45 фотографий и создаю композицию:
Почему вообще это работает ??
Что ж, предположим, что у вас есть постоянное положение камеры (отсюда и рекомендация использовать штатив и пульт дистанционного управления), и посмотрим, что происходит с одним пикселем.
На некоторых из ваших необработанных фотографий этот пиксель будет иметь цвет, соответствующий фоновой сцене, о которой вы заботитесь, а в остальных случаях этот пиксель будет иметь цвет, соответствующий некоторому беспорядку на переднем плане. Но беспорядок на переднем плане перемещается быстро и имеет случайные цвета, тогда как фоновая сцена стабильна. В результате для большинства сделанных вами фотографий пиксель будет иметь цвет, соответствующий фоновой сцене.
Например, вы сделали шесть фотографий, и это:
- Фоновая сцена создает значение пикселя
100
- На фото 2 сцену перекрывала светло-серая машина (значение пикселя
150
) - На фото 4 сцену перекрыл темно-серый внедорожник (значение в пикселях
50
)
Тогда значения пикселей на шести ваших фотографиях будут следующими:
[100, 150, 100, 50, 100, 100]
а взятие медианы дает 100
, что именно то, что вы хотите - значение пикселя, соответствующее фоновой сцене.
Обратите внимание, что важно сделать достаточно фотографий, чтобы получить достаточное количество вхождений значения фонового пикселя; в противном случае вы получите «визуальный шум»:
Наконец, вот сценарий, который я использовал для создания композитов. Я использовал чрезвычайно наивный и неоптимизированный подход, который просто перебирает все пиксели входных изображений, вычисляет медиану для этого пикселя и сохраняет результат в выходном изображении. На моем ноутбуке скрипту требуется около 50 секунд, чтобы обработать 45 изображений с разрешением 2560x1440. Однако этого должно быть достаточно, чтобы донести суть: