Это отличный вопрос, и у него разные ответы в зависимости от контекста. Вы упомянули несколько конкретных вопросов, каждый из которых может дать свои ответы. Я постараюсь рассмотреть их как единое целое здесь.
Q. Это просто свойство объектива?
О. Проще говоря, нет , хотя, если вы игнорируете CoC, можно (учитывая математику) сделать аргумент, что это так. Глубина резкости - «нечеткая» вещь, которая во многом зависит от контекста просмотра. Под этим я подразумеваю, что это зависит от того, насколько велико конечное изображение для просмотра по отношению к собственному разрешению датчика; острота зрения зрителя; диафрагма, используемая при съемке кадра; расстояние до объекта при съемке.
Q. Можно ли сконструировать линзы для увеличения глубины резкости при одинаковой диафрагме и фокусном расстоянии?
О. Учитывая математику, я бы сказал нет. Я не оптический инженер, поэтому возьмите то, что я здесь говорю, с необходимым зерном соли. Тем не менее, я склонен следовать математике, которая довольно ясно показывает глубину резкости.
Q. Меняется ли он в зависимости от размера датчика камеры?
А. В конечном счете, это зависит здесь. Более важным, чем размер датчика, был бы минимальный круг путаницы (CoC) среды изображения. Любопытно, что Круг путаницы носителя изображения не обязательно является неотъемлемой чертой, поскольку минимально приемлемый CoC часто определяется максимальным размером, на котором вы собираетесь печатать. Цифровые датчики имеют фиксированный минимальный размер для CoC, поскольку размер одного сенсора настолько мал, насколько может достичь любая отдельная точка света (в сенсоре Байера размер квартета сенсоров на самом деле является наименьшим разрешением.)
Q. Изменяется ли он с размером отпечатка?
A. Учитывая ответ на предыдущий вопрос, возможно. Масштабирование изображения выше или даже ниже его «родного» размера печати может повлиять на то, какое значение вы используете для минимально приемлемого значения CoC. Поэтому да, размер (-ы), которые вы собираетесь печатать, играют определенную роль, однако я бы сказал, что эта роль, как правило, незначительна, если вы печатаете не очень большими размерами.
С математической точки зрения понятно, почему DoF - это не просто функция объектива, а использование носителя изображения или размера отпечатка с точки зрения CoS. Чтобы четко указать факторы DoF:
Глубина резкости является функцией фокуса
Длина, эффективная диафрагма, расстояние
Субъект и минимальный круг путаницы.
Минимальный круг путаницы - это где
все становится неясным, так как это может быть
рассматривается как функция изображения
средний или функция размера отпечатка.
Существует несколько математических формул, которые можно использовать для расчета глубины резкости. К сожалению, не существует единой формулы, которая точно дает глубину резкости на любом расстоянии от объекта. Hyperfocal Distance
, или расстояние, на котором вы фактически получаете максимальный DoF, можно рассчитать так:
H = f 2 / (N * c)
Где:
H = гиперфокальное расстояние
f = фокусное расстояние
N = f-число (относительная апертура)
с = круг путаницы
Круг путаницы - причудливое значение, поэтому мы обсудим это позже. Полезный средний CoC для цифровых датчиков можно принять равным 0,021 мм . Эта формула дает вам гиперфокальное расстояние, которое точно не говорит вам, какова ваша глубина резкости, скорее, оно говорит вам расстояние до объекта, на котором вы должны сфокусироваться, чтобы получить максимальную глубину поля. Для расчета фактического Depth of Field
вам понадобится дополнительный расчет. Приведенная ниже формула предоставит DOF для расстояний от умеренного до большого, что более конкретно означает, что расстояние до объекта больше, чем фокусное расстояние (то есть немакросъемка):
Dn = (H * s) / (H + s)
Df = (H * s) / (H - s) {для s
DOF = Df - Dn
DOF = (2 * H * s) / (H 2 - s 2 ) {для s
Где:
Dn = Ближний предел DoF
Df = дальний предел DoF
H = гиперфокальное расстояние (предыдущая формула)
s = Расстояние до объекта (расстояние, на котором фокусируется объектив, на самом деле не может быть «объектом»)
Когда расстояние до объекта является гиперфокальным расстоянием:
Df = 'бесконечность'
Дн = Н / 2
Когда расстояние до объекта превышает гиперфокальное расстояние:
Df = бесконечно
Dn = 'бесконечность'
Термин «бесконечность» здесь не используется в его классическом смысле, скорее это скорее термин оптической инженерии, означающий фокус за пределами гиперфокального расстояния. Полная формула для непосредственного расчета DOF без предварительного вычисления гиперфокального расстояния, как показано ниже (замените H):
DOF = 2Ncf 2 s 2 / (f 4 - N 2 c 2 s 2 )
Если мы игнорируем размер отпечатка и пленку, для данного цифрового датчика с определенной плотностью пикселей , DoF является функцией фокусного расстояния, относительной диафрагмы, и расстояния до объекта. Исходя из этого, один может сделать аргумент, что DoF является чисто функцией объектива, так как "расстояние до объекта" относится к расстоянию, на котором фокусируется объектив , что также функция объектива.
В среднем случае можно предположить, что CoC всегда является минимально достижимым с помощью цифрового датчика, который в наши дни составляет в среднем 0,021 мм, хотя реалистичный диапазон охватывает APS-C, APS-H и Full Рамка датчиков покрывает где угодно от 0,015 мм до 0,029 мм . Для большинства распространенных размеров печати, около 13x19 "или ниже, допустимый CoC составляет около 0,05 мм, или примерно в два раза больше среднего значения для цифровых датчиков. Если вы предпочитаете печатать с очень большими размерами, CoC может быть фактором (требующим меньше 0,01 мм), и ваша очевидная степень резкости при большом увеличении будет меньше, чем вы рассчитываете математически.
Приведенные выше формулы применяются только тогда, когда расстояние s
заметно больше фокусного расстояния объектива. Как таковой, он ломается для макросъемки. Когда дело доходит до макросъемки, гораздо проще выразить DoF через фокусное расстояние, относительную апертуру и увеличение объекта (т.е. 1,0x):
DOF = 2Nc * (((m / P) + 1) / m 2 )
Где:
N = число f (относительная апертура)
c = минимальный CoC
м = увеличение
P = увеличение зрачка
Формула довольно проста, вне аспекта увеличения зрачка. Истинный, правильно построенный объектив macro будет иметь в значительной степени эквивалентные входные и выходные зрачки (размер апертуры, если смотреть через переднюю часть объектива (вход), и размер апертуры, если смотреть сзади объектив (выход)), хотя они могут быть не полностью идентичны. В таких случаях можно принять значение 1 для P, если у вас нет разумных сомнений.
В отличие от DoF для средних и больших расстояний до объекта, при макросъемке 1: 1 (или лучше), вы ВСЕГДА увеличиваете для печати, даже если вы печатаете с разрешением 2x3 ". При стандартных размерах печати, таких как 8x10, 13x19 и т. Д. фактор увеличения может быть значительным. Следует предположить, что CoC является минимально разрешимым для вашей среды визуализации, которая все еще, вероятно, не достаточно мала, чтобы компенсировать очевидное сокращение DoF из-за увеличения.
Сложная математика в стороне, DoF может быть интуитивно визуализирован с базовым пониманием света, как оптика изгибает свет, и как диафрагма влияет на свет.
Как диафрагма влияет на глубину резкости? В конечном итоге она сводится к углам лучей света, которые фактически достигают плоскости изображения. При более широкой апертуре все лучи, включая лучи от внешнего края объектива, достигают плоскости изображения. Диафрагма не блокирует любые входящие лучи света, поэтому максимальный угол света, который может достигать датчика, велик (более наклонный). Это позволяет максимальному значению CoC быть большим, и переход от сфокусированной точки света к максимальному CoC происходит быстро:
![enter image description here](https://i.stack.imgur.com/a2AoE.gif)
В более узкой апертуре диафрагма блокирует некоторый свет с периферии светового конуса, в то время как свет из центра пропускается. Максимальный угол световых лучей, достигающих датчика, низкий (менее наклонный). Это приводит к тому, что максимальный CoC становится меньше, а переход от сфокусированной точки света к максимальному CoC происходит медленнее. (В стремлении сделать диаграмму как можно более простой, эффект сферической аберрации был проигнорирован, поэтому диаграмма не является точной на 100%, но все же должна демонстрировать эту точку):
![enter image description here](https://i.stack.imgur.com/PrKl7.gif)
Апертура изменяет скорость роста CoC. Более широкие апертуры увеличивают скорость, с которой растут размытые круги, поэтому глубина резкости меньше. Более узкие апертуры уменьшают скорость, с которой растут размытые круги, поэтому глубина резкости больше.
Доказательства
Как и во всем, нужно всегда доказывать концепцию, фактически выполняя математику. Вот некоторые интригующие результаты при запуске приведенных выше формул с кодом F # в Интерактивная утилита командной строки F # *1160* (легко скачать и перепроверить):
(* The basic formula for depth of field *)
let dof (N:float) (f:float) (c:float) (s:float) = (2.0 * N * c * f**2. * s**2.)/(f**4. - N**2. * c**2. * s**2.);;
(* The distance to subject. 20 feet / 12 inches / 2.54 cm per in / 10 mm per cm *)
let distance = 20. / 12. / 2.54 / 10.;;
(* A decent average minimum CoC for modern digital sensors *)
let coc = 0.021;;
(* DoF formula that returns depth in feet rather than millimeters *)
let dof_feet (N:float) (f:float) (c:float) (s:float) =
let dof_mm = dof N f c s
let dof_f = dof_mm / 10. / 2.54 / 12.
dof_f;;
dof_feet 1.4 50. coc distance
> val it : float = 2.882371793
dof_feet 2.8 100. coc distance
> val it : float = 1.435623728
Вывод вышеуказанной программы является интригующим, поскольку он показывает, что на глубину резкости действительно напрямую влияет фокусное расстояние как независимый фактор от относительной диафрагмы, при условии, что только фокусное расстояние изменяется, а все остальное остается равным. Два DoF сходятся в f / 1.4 и f / 5.6, как показано в приведенной выше программе:
dof_feet 1.4 50. coc distance
> val it : float = 2.882371793
dof_feet 5.6 100. coc distance
> val it : float = 2.882371793
Интригующие результаты, если немного не интуитивно. Другая сходимость возникает при корректировке расстояний, что обеспечивает более интуитивную корреляцию:
let d1 = 20. * 12. * 2.54 * 10.;;
let d2 = 40. * 12. * 2.54 * 10.;;
dof_feet 2.8 50. coc d1;;
> val it : float = 5.855489431
dof_feed 2.8 100. coc d2;;
> val it : float = 5.764743587