Эмулятор камеры-обскуры

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

Формат

Камера

Съёмка

Нажмите, чтобы загрузить фото либо перетащите файл, либо вставьте из буфера

Что такое камера-обскура

Камера-обскура — светонепроницаемая коробка с маленьким отверстием вместо объектива. Свет проходит через отверстие и рисует на дальней стенке перевёрнутое изображение. У камеры-обскуры нет линзы, поэтому нет и фокусировки: глубина резкости практически бесконечна, а резкость кадра зависит только от диаметра отверстия.

Эмулятор воспроизводит физику камеры-обскуры: дифракцию света на краях отверстия, геометрическое размытие, виньетирование по закону cos⁴, кривизну поля и экспозицию по системе APEX.

Как пользоваться

  1. Загрузите фото — оно станет «кадром реальности».
  2. Выберите формат плёнки или задайте ширину, высоту и фокусное расстояние вручную.
  3. Настройте отверстие, ISO, выдержку и яркость сцены — результат обновится сразу.
  4. Следите за индикатором экспозиции и зелёными зонами на шкалах — они показывают диапазон нормальной экспозиции.

Как эмулятор считает

Общие переменные: f — фокусное расстояние (мм), d — диаметр отверстия (мм), N = f/d — диафрагменное число, t — выдержка (с), ISO — светочувствительность, L — яркость сцены (0–100), r — расстояние от центра кадра, λ — длина волны света (550 нм).

Масштаб изображения

zoom=min(f70,6)

Масштаб растёт с фокусным расстоянием. За точку отсчёта взят нормальный объектив 70 мм, верхняя граница 6 не даёт кадру разрастаться бесконечно.

relZoom=max(zoomzoomref,1)

Здесь zoomref — масштаб в момент загрузки фото. Увеличение фокусного расстояния приближает кадр, уменьшение не отдаляет его: за границами исходного фото данных нет.

Размытие

diff=1,22·λ·N

Дифракционное размытие: свет огибает края отверстия, и каждая точка сцены превращается в диск Эйри. Допущение — отверстие круглое, источник точечный, за размер пятна принят диаметр диска до первого тёмного кольца.

geo=d

Геометрическое размытие: размер пятна равен диаметру отверстия. Допущение — объект находится на бесконечности. На конечном расстоянии D точнее d·(1+fD), но поправка заметна только на макро-дистанциях.

total=diff2+geo2

Дифракция и геометрия — независимые причины размытия, поэтому их величины складываются квадратично.

dopt=1,22·λ·f

Минимум размытия достигается, когда дифракционное и геометрическое размытия равны: 1,22·λ·fd=d, откуда d2=1,22·λ·f.

blurpx=total·zoom·3

Перевод физического размера пятна в пиксели кадра. Коэффициент 3 подобран эмпирически, чтобы масштаб размытия совпадал с масштабом изображения.

Кривизна поля

fc(r)=1+(rf)2

Допущение — идеальная фокальная поверхность является сферой радиуса f. Чем дальше точка от центра кадра, тем сильнее расфокусировка. Дополнительное размытие считается как d·(fc−1)·zoom·3, резкое и размытое изображения смешиваются линейно.

Виньетирование

V(r)=1(1+(rf)2)2

Это тождественная запись закона cos⁴(atan(r/f)): к краям кадра лучи падают на плёнку под углом и проходят большее расстояние, поэтому освещённость падает. Допущение — точечное отверстие и плоский приёмник.

Экспозиция и контраст

EV=log2(N2t)

Экспозиционное число камеры: сколько света пропускает отверстие за выдержку.

SV=log2(ISO100)

Чувствительность плёнки относительно ISO 100.

BV=L10

Яркость сцены в ступенях: значение 50 соответствует BV +5.

Δ=EV−SV−BV

Отклонение от нормальной экспозиции: при Δ > 0 кадр недодержан, при Δ < 0 пересвечен. Диапазон |Δ| ≤ 0,8 считается нормальной экспозицией — это зелёная зона на шкалах. При Δ > 2,5 кадр становится полностью чёрным, при Δ < −2,5 — полностью белым.

k=1+ISO2500

Эмпирическая имитация роста контраста вместе с ISO.

Порядок обработки

Размытие → кривизна поля → экспозиция и контраст → виньетирование.

Общие допущения

Что эмулятор не моделирует

Частые вопросы

Почему у камеры-обскуры нет фокусировки?

В камере-обскуре нет линзы, поэтому нет и фокусной плоскости. Каждый объект проецируется в пятно, размер которого близок к диаметру отверстия, поэтому резкими получаются и близкие, и далёкие предметы. Управлять резкостью можно только диаметром отверстия.

Какое отверстие оптимально?

Полное размытие складывается из дифракционного и геометрического. Дифракционное размытие растёт с диафрагменным числом (1,22·λ·N), геометрическое равно диаметру отверстия. Минимум размытия достигается, когда эти две величины равны: d ≈ √(1,22·λ·f). Для f = 50 мм это примерно 0,18 мм, для f = 400 мм — около 0,52 мм.

Как выдержка и яркость сцены влияют на кадр?

Эмулятор считает экспозицию по системе APEX. Экспозиционное число EV = log₂(N²/t) сравнивается с чувствительностью плёнки SV = log₂(ISO/100) и яркостью сцены BV = L/10. Отклонение Δ = EV − SV − BV показывает, на сколько ступеней кадр отличается от нормальной экспозиции: положительное — недодержка, отрицательное — пересвет. Зелёная зона на шкалах отмечает диапазон |Δ| ≤ 0,8.

Почему картинка становится мыльной на больших отверстиях?

Чем шире отверстие, тем крупнее пятно, в которое превращается каждая точка сцены: его размер пропорционален диаметру отверстия. Если отверстие уменьшать, кадр становится резче, но сильнее проявляется дифракция. Поэтому для каждого фокусного расстояния существует оптимальный диаметр отверстия.