Соларография (изображения движения солнца по небу, получаемые в течение нескольких месяцев на фотобумаге при помощи пинхол-камеры) набирала популярность где-то с начала нулевых. А когда в 2010-х эта методика стала действительно популярной, многие люди вновь заинтересовались фотографиями при помощи плёнки и фотобумаги. Довольно много из них начало оставлять банки с бумагой внутри и отверстием в боку в лесах и в общественных местах городов – и мне эта идея тоже нравится.
На сайте Solargraphy.com можно найти сотни чудесных примеров таких работ.
Вот ещё несколько ссылок:
- Интервью с создателем сайта.
- Интервью с Дженсом Эдингером о том, как сделать и спрятать пинхол-банку (на немецком).
- Группа соларографии в Flickr.
- Моторизованная соларография.
- Таймлапс в этой технике.
- Один из редких примеров цифровой фотографии с выдержкой в целый день.
- Примеры работ, которые пришлись мне по душе, от автора Джипа Ламбермонта.
- Большую часть аналоговых фотографий Майкла Уэсли тоже можно назвать соларографией.
И хотя эти пинхол-камеры из пивных банок и канализационных труб выглядят очень по-самоделкински, их уже можно купить готовыми в магазине. И, конечно, готовые наборы делают соларографию более доступным хобби, а вообще такую камеру самому сделать довольно сложно.
Однако, хотя я и люблю снимки, сделанные на плёнку (или, как в данном случае, на бумагу), я избавился от всего моего аналогового оборудования. С ним слишком много возни.
Как насчёт изготовления такой же фотографии, только без плёнки?
Теория
Задача
Фотографию с долгой выдержкой сделать легко. Уменьшаем чувствительность матрицы к свету и открываем затвор на несколько секунд. Если вам нужно ещё больше увеличить выдержку, вы начнёте подозревать, что изображение получится ужасно шумным. Следующий шаг – взять много фотографий с небольшими выдержками и усреднить. Таким программным способом можно симулировать выдержку практически любой длины. Можно даже сделать выдержку длиной в день, если взять взвешенное среднее на основе значений выдержки каждого из изображений. Круто! Жаль, что такой подход неприменим к соларографии. Изображение солнца «выжигается» на плёнке [фотобумаге], и остаётся там навсегда, а вот при усреднении яркая точка солнца уйдёт из-за усреднения и её не будет видно при цифровой эмуляции долгой выдержки. Вот блин…
Выдержка 24 часа:
Обработанный результат:
Как нам решить эту проблему? При создании отдельных фотографий нужно отслеживать те точки, которые будут «выжжены», или соляризованы. Вместе с каждой фотографией (с правильной выдержкой) мы делаем ещё одну – с минимально возможным количеством света, доходящим до матрицы. Мы предполагаем, что каждый фотон, добравшийся до нашей матрицы во втором случае с более тёмной фотографией, можно будет считать достаточно ярким для того, чтобы он оставил на плёнке отметину.
Давайте на секунду отвлечёмся и поговорим о том, что же такое экспозиционное число (EV). У фотографии с правильной экспозицией, которую снимали в течение 1 с диафрагмой f/1.0 и ISO 100, EV будет равняться 0. Полсекунды с теми же настройками дадут EV 1, четверть секунды – EV 2,… На википедии пишут, что в пасмурный день EV будет порядка 13, а в солнечный – 16. Стандартная цифровая беззеркалка может дать экспозицию до 1/4000 секунды, у большинства линз диафрагма f/22, а наименьшее значение ISO – 25, 50 или 100. При выдержке 1/4000 с, диафрагме f/22 и ISO 100 EV получится равным 20-22. Поэтому мы можем использовать EV как меру количества яркости сцены (при правильной экспозиции) – и одновременно как меру максимальной яркости, которую способна выдержать камера без превышения экспозиции. По сути, это количество фотонов, доходящих до камеры, и количество фотонов, которые камера успешно блокирует во время экспозиции. Каким должно быть EV, чтобы мы смогли надёжно определить, какие части плёнки будут выжжены? На практике, чем чище небо, чем меньше облаков и дымки, взвешенных частиц и водяных капель в атмосфере, отражающих свет – тем меньше может быть максимальное EV камеры. Поэтому камера с выдержкой 1/4000, апертурой 22 и ISO 100 поймает так мало фотонов, что мы можем предположить, что определённая часть изображения является невероятно яркой.
Но каждая часть облачка, подсвеченная солнцем, тоже становится нереально яркой, и если камера не сможет уменьшить эту яркость, то мы не сможем достоверно определить, была ли эта точка достаточно яркой для того, чтобы оставить след на фотоплёнке. На самом деле, конечно, она не оставила бы следа, но мы не можем достоверно различить яркое облако и солнце. По моему опыту, если условия освещения заранее неизвестны (как обычно бывает над европейской частью континента), нам нужно получить EV равное хотя бы 24.
Однако есть простой способ передвинуть окошко возможных значений EV – нейтральный светофильтр. Он значительно уменьшает количество света, доходящего до матрицы, поэтому камера не сможет получать изображения на рассвете, на закате или ночью – но в нашем случае это и неважно, поскольку эти изображения никак не скажутся на выдержках в несколько дней (по сравнению с ярким днём их вклад в итоговое изображение пренебрежимо мал). При использовании фильтра ND64 (26) он удаляет порядка 6 EV (с ND-фильтрами нельзя назвать точное значение), и это даёт нам максимальное значение EV 26. Как это будет выглядеть?
Изображение с правильной выдержкой и EV 11
Чуть темнее (EV 14)
Близко к тому, что могут дать цифровые камеры (EV 19)
И вот наш результат с фильтром – EV 26
Достаточно ли этого? По-моему, да.
Программа
Так как же всё это обработать? Нужно снимать фото с правильной экспозицией каждые Х секунд, и сразу после этого – фото с EV 26. Из первых фотографий через взвешенное среднее на основе метаданных рассчитывается изображение с долгой выдержкой. EV можно подсчитать по данным EXIF, добавить смещение и использовать двойку в степени смещённого EV в качестве веса для усреднения значений пикселей.
Со вторыми изображениями так не получится – мы тогда усредним все «выжженные» пиксели. Тут мы просто наложим все изображения и сохраним самые яркие пиксели результата.
После этого мы просто накладываем второе на первое:
Офигительно! Но сколько изображений нам нужно и как часто нужно их снимать? Интервал зависит от фокусного расстояния (чем шире изображение, тем меньше солнце, тем больше промежуток). В моём случае для широкоугольной картинки (порядка 24 мм) минимальный промежуток с моей точки зрения был 60 с, а идеальный – 45 с. Если взять промежуток больше 60 с, арка солнечного пути превратится в накладывающиеся круги, а в пределе – просто в нитку жемчуга. Можно, конечно, схитрить, и наложить гауссово скглаживание на картинку с солнечным путём, чтобы сгладить углы и размазать солнечные круги.
Интервал в 90 с: артефакты (большие разрывы вызваны закрывавшей солнце облачностью)
Количество изображений с долгой выдержкой зависит от движения, но от 60 до 90 штук работает неплохо даже для самых мелких деталей.
Железо
Неплохо. Теперь у нас есть реальный способ получения цифровой соларографии. Вот только нам ещё нужно получить реальные изображения. Как сделать (относительно) одноразовую камеру, рассчитывая на то, что всегда могут найтись назойливые птички или ещё более назойливые служители порядка, которые её утащат? По некоторым отзывам энтузиастов, они теряли от 30 до 50%% камер, оставленных в дикой природе на полгода (на промежуток от зимнего до летнего солнцестояния, т.е. от низшей до высшей позиции солнца на небе). Я на шесть месяцев не рассчитываю, но всё равно стоит подготовиться к потере парочки камер. Самую мелкую по размеру и стоимости камеру можно собрать из Raspberry Pi Zero с Pi Camera Module. Это будет «целых» 8 Мп, однако и что ж – нам всё равно не нужны чёткие резкие фотографии. Плюс электроника для включения через заданные интервалы, аккумулятор, накладная линза от смартфона и ужасно сильные неодимовые магниты, и всё это в корпусе, напечатанном на 3D-принтере.
Технические подробности. Raspberry Pi HAT с микроконтроллером SAMD21 (чип с Arduino Zero), питается от двух аккумуляторов 18650 и включает Pi каждые 60 с (если снаружи светло), или реже, если темно. Pi загружается, делает несколько фоток, и отключается. От аккумуляторов система работает 2,5 дня, и генерирует по 10 Гб в день. Чтобы достаточно быстро загрузиться, измерить освещённость, сделать несколько фоток, сохраниться, и отключиться – и всё это за 60 с – на компьютере установлен минимальный дистрибутив buildroot вместо жирненького Raspbian.
Самое сложное в таком проекте – это сделать корпус, распечатываемый на 3D-принтере и защищённый от погодных условий. У меня получился неплохой вариант – я использовал 3 мм уплотнитель из этилен-пропиленового каучука (EPDM) в углублении, предусмотренном в корпусе.
Изображения
Примеры, снятые в Веймаре:
Проблемы и недостатки
Чтобы определить «выжженные» пиксели, я использовал отдельные кадры. Либо на изображении остался след, либо нет. Накопительных измерений я не проводил. Если в камеру видно движущиеся автомобили, возникает эффект, сравнимый с поведением реальных плёнок. Когда отражения от стекла и металла дают россыпь мелких ярких точек, то этот шум, попавший на несколько десятков фотографий, не так заметен глазу. Хороший пример того, как это видно на плёнке, даёт нам следующая фотография, сделанная Майклом Уэсли:
Я тоже хочу!
Круто! Правда, потребуется поработать руками. Ресурсы:
- Программа для расчёта фотографий на github. Имейте в виду, она не совсем p'n'p.
- Файлы схем плат и подключения для питания 2S LiPo аккумуляторов.
- Файлы Fusion360 для водонепроницаемого корпуса.