Это отличный вопрос, и у него разные ответы в зависимости от контекста. Вы упомянули несколько конкретных вопросов, каждый из которых может дать свои ответы. Я постараюсь рассмотреть их больше как единое целое здесь.
В. Это просто свойство объектива?
О. Проще говоря, нет , хотя, если вы игнорируете CoC, можно (учитывая математику) сделать аргумент, что это так. Глубина резкости - «нечеткая» вещь, которая во многом зависит от контекста просмотра. Под этим я подразумеваю, что это зависит от того, насколько велико конечное изображение для просмотра по отношению к собственному разрешению датчика; острота зрения зрителя; диафрагма, используемая при съемке кадра; расстояние до объекта при съемке.
В. Можно ли сконструировать объективы, обеспечивающие большую глубину резкости при одинаковой диафрагме и фокусном расстоянии?
О. Учитывая математику, я бы сказал нет. Я не оптический инженер, поэтому возьмите то, что я здесь говорю, с необходимым зерном соли. Тем не менее, я склонен следовать математике, которая довольно ясно говорит о глубине резкости.
Q. Это изменяется с размером датчика камеры?
А. В конечном счете, здесь все зависит. Более важным, чем размер датчика, был бы минимальный круг путаницы (CoC) среды изображения. Любопытно, что Круг путаницы носителя изображения не обязательно является неотъемлемой чертой, поскольку минимально приемлемый CoC часто определяется максимальным размером, на котором вы собираетесь печатать. Цифровые датчики имеют фиксированный минимальный размер для CoC, поскольку размер одного сенсора настолько мал, насколько может получить любая отдельная точка света (в сенсоре Байера размер квартета сенсоров на самом деле является наименьшим разрешением).
Q. Это изменяется с размером печати?
A. Учитывая ответ на предыдущий вопрос, возможно. Масштабирование изображения выше или даже ниже его «родного» размера печати может повлиять на то, какое значение вы используете для минимально приемлемого значения CoC. Поэтому да, размер (-ы), на котором вы собираетесь печатать, играют определенную роль, однако я бы сказал, что эта роль, как правило, незначительна, если вы печатаете с очень большими размерами.
С математической точки зрения ясно, почему DoF - это не просто функция объектива, а использование носителя изображения или размера отпечатка с точки зрения CoS. Чтобы четко указать факторы DoF:
Глубина резкости является функцией фокусного расстояния, эффективной диафрагмы, расстояния до объекта и минимального круга путаницы. Минимальный круг путаницы - это то, где вещи становятся нечеткими, поскольку это можно рассматривать как функцию носителя изображения или функцию размера отпечатка.
Существует несколько математических формул, которые можно использовать для расчета глубины резкости. К сожалению, не существует единой формулы, которая точно дает глубину резкости на любом расстоянии от объекта. Hyperfocal Distance
или расстояние, на котором вы эффективно получаете максимальный DoF, можно рассчитать так:
H = f 2 / (N * c)
Где:
H = гиперфокальное расстояние
f = фокусное расстояние
N = f-число (относительная апертура)
c = круг путаницы
Круг путаницы - это причудливое значение, поэтому мы обсудим это позже. Полезный средний CoC для цифровых датчиков можно принять равным 0,021 мм . Эта формула дает вам гиперфокальное расстояние, которое точно не говорит вам, какова ваша глубина резкости, скорее, оно говорит вам расстояние до объекта, на котором вы должны сфокусироваться, чтобы получить максимальную глубину резкости. Чтобы рассчитать факт Depth of Field
, вам нужен дополнительный расчет. Приведенная ниже формула предоставит DoF для расстояний от умеренного до большого, что более конкретно означает, когда расстояние до объекта больше фокусного расстояния (то есть немакро-снимки):
Dn = (H * s) / (H + s)
Df = (H * s) / (H - s) {для s <H
DOF = Df - Dn
DOF = (2 * H * s) / (H 2 - s 2 ) {для s <H
Где:
Dn = ближний предел DoF
Df = дальний предел DoF
H = гиперфокальное расстояние (предыдущая формула)
s = субъектное расстояние (расстояние, на котором фокусируется объектив, на самом деле не может быть «объектом»)
Когда расстояние до объекта является гиперфокальным расстоянием:
Df = 'бесконечность' Dn = H / 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 Frame, охватывает от 0,015 до 0,029 мм . Для большинства распространенных размеров печати, около 13x19 "или ниже, допустимый CoC составляет около 0,05 мм, или примерно в два раза больше среднего значения для цифровых датчиков. Если вы предпочитаете печатать с очень большими размерами, CoC может быть фактором (требующим менее 0,01 мм), и ваш очевидный DOF при большом увеличении будет меньше, чем вы рассчитываете математически.
Вышеприведенные формулы применяются только тогда, когда расстояние s
заметно больше фокусного расстояния объектива. Как таковой, он ломается для макросъемки. Когда дело доходит до макросъемки, гораздо проще выразить DoF с точки зрения фокусного расстояния, относительной диафрагмы и увеличения объекта (например, 1,0x):
DOF = 2Nc * (((м / р) + 1) / м 2 )
Где:
N = число f (относительная апертура)
c = минимальный CoC
m = увеличение
P = увеличение зрачка
Формула довольно проста, вне аспекта увеличения зрачка. Настоящий, правильно построенный макрообъектив будет иметь в основном эквивалентные входные и выходные зрачки (размер апертуры, если смотреть через переднюю часть объектива (вход) и размер апертуры, если смотреть с задней стороны объектива (выход)) , хотя они не могут быть точно идентичными. В таких случаях можно принять значение 1 для P, если у вас нет разумных сомнений.
В отличие от DoF для средних и больших расстояний до объекта, при макросъемке 1: 1 (или лучше), вы ВСЕГДА увеличиваете для печати, даже если вы печатаете с разрешением 2x3 ". При распространенных размерах печати, таких как 8x10, 13x19 и т. Д., Фактор увеличения может быть значительным. Следует предположить, что CoC является минимально разрешимым для вашей среды визуализации, которая все еще, вероятно, не достаточно мала, чтобы компенсировать очевидное сокращение DoF из-за увеличения.
Сложная математика в стороне, DoF может быть интуитивно визуализирован с базовым пониманием света, как оптика изгибает свет, и как диафрагма влияет на свет.
Как диафрагма влияет на глубину резкости? Это в конечном итоге сводится к углам лучей света, которые фактически достигают плоскости изображения. При более широкой апертуре все лучи, включая лучи от внешнего края объектива, достигают плоскости изображения. Диафрагма не блокирует любые входящие лучи света, поэтому максимальный угол света, который может достигать датчика, велик (более наклонный). Это позволяет максимальному значению CoC быть большим, и переход от сфокусированной точки света к максимальному CoC происходит быстро:
В более узкой апертуре диафрагма блокирует некоторый свет от периферии светового конуса, в то время как свет от центра пропускается. Максимальный угол световых лучей, достигающих датчика, низкий (менее наклонный). Это приводит к тому, что максимальный CoC становится меньше, и переход от сфокусированной точки света к максимальному CoC происходит медленнее. (В стремлении сделать диаграмму как можно более простой, эффект сферической аберрации был проигнорирован, поэтому диаграмма не является точной на 100%, но все же должна демонстрировать эту точку):
Апертура изменяет скорость роста CoC. Более широкие апертуры увеличивают скорость, с которой растут размытые круги, поэтому глубина резкости меньше. Более узкие апертуры уменьшают скорость, с которой растут размытые круги, поэтому глубина резкости больше.
Доказательств
Как и во всем, нужно всегда доказывать концепцию, фактически выполняя математику. Вот некоторые интригующие результаты при запуске приведенных выше формул с кодом F # в утилите командной строки F # Interactive (ее легко загрузить и проверить дважды):
(* 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