Есть ли формула для расчета DOF? - Фотопедия
16 голосов
/ 01 июля 2012

Я вполне уверен, что DOF зависит от:

  1. Фокусное расстояние
  2. Диафрагма
  3. Расстояние от предмета
  4. Размер сенсора
    и более (как указано в комментарии).

Но что здесь за вопрос: есть ли формула, которая связывает все эти факторы с DOF? Учитывая эти значения можно ли точно рассчитать глубину резкости ??

Ответы [ 6 ]

17 голосов
/ 01 июля 2012

Глубина резкости зависит от двух факторов: увеличения и числа f.

Фокусное расстояние, расстояние до объекта, размер и круг путаницы (радиус, при котором размытие становится видимым) совместно определяют увеличение.

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

Лучшим ответом на ваш вопрос могло бы стать получение формул из первых принципов, что я собирался сделать некоторое время, но у меня не было времени. Если кто-то захочет стать волонтером, я дам ему голос;)

15 голосов
/ 26 января 2013

Вы хотели математику, так что вот оно:

Вам нужно знать CoC вашей камеры, датчики размера Canon APS-C это число 0,018, для Nikon APS-C 0,019, для полнокадровых датчиков и 35-мм пленки значение 0,029.

Формула для полноты:

CoC (mm) = viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25

Другой способ сделать это - формула Цейсса :

c = d/1730

Где d - размер диагонали датчика, а c - максимально допустимый CoC. Это приводит к немного другим числам.

Сначала необходимо рассчитать гиперфокальное расстояние для объектива и камеры (эта формула неточна для расстояний, близких к фокусному расстоянию, например, экстремальное макро):

HyperFocal[mm] = (FocalLength * FocalLength) / (Aperture * CoC)

например:.

50mm lens @ f/1.4 on a full frame:      61576mm (201.7 feet)
50mm lens @ f/2.8 on a full frame:      30788mm (101 feet)
50mm lens @ f/1.4 on a Canon APS frame: 99206mm (325.4 feet)
50mm lens @ f/2.8 on a Canon APS frame: 49600mm (162.7 feet)

Затем вам нужно вычислить ближайшую точку, которая является ближайшим расстоянием, которое будет находиться в фокусе, учитывая расстояние между камерой и объектом:

NearPoint[mm] = (HyperFocal * distance) / (HyperFocal + (distance – focal))

например:.

50mm lens @ f/1.4 on a full frame with a subject at 1m distance: 0.984m (~16mm in front of target)
50mm lens @ f/1.4 on a full frame with a subject at 3m distance: 2.862m (~137mm in front of target)
50mm lens @ f/2.8 on a full frame with a subject at 1m distance: 0.970m (~30mm in front of target)
50mm lens @ f/2.8 on a full frame with a subject at 3m distance: 2.737m (~263mm in front of target)

50mm lens @ f/1.4 on a Canon APS frame with a subject at 1m distance: 0.990m (~10mm in front of target)
50mm lens @ f/1.4 on a Canon APS frame with a subject at 3m distance: 2.913m (~86mm in front of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 1m distance: 0.981m (~19mm in front of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 3m distance: 2.831m (~168mm in front of target)

Затем вам нужно вычислить дальнюю точку, которая является самым дальним расстоянием, которое будет находиться в фокусе, учитывая расстояние между камерой и объектом:

FarPoint[mm] = (HyperFocal * distance) / (HyperFocal – (distance – focal))

например:.

50mm lens @ f/1.4 on a full frame with a subject at 1m distance: 1.015m (~15mm behind of target)
50mm lens @ f/1.4 on a full frame with a subject at 3m distance: 3.150m (~150mm behind of target)
50mm lens @ f/2.8 on a full frame with a subject at 1m distance: 1.031m (~31mm behind of target)
50mm lens @ f/2.8 on a full frame with a subject at 3m distance: 3.317m (~317mm behind of target)

50mm lens @ f/1.4 on a Canon APS frame with a subject at 1m distance: 1.009m (~9mm behind of target)
50mm lens @ f/1.4 on a Canon APS frame with a subject at 3m distance: 3.091m (~91mm behind of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 1m distance: 1.019m (~19mm behind of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 3m distance: 3.189m (~189mm behind of target)

Теперь вы можете рассчитать общее фокусное расстояние:

TotalDoF = FarPoint - NearPoint

например:.

50mm lens @ f/1.4 on a full frame with a subject at 1m distance:  31mm
50mm lens @ f/1.4 on a full frame with a subject at 3m distance: 228mm
50mm lens @ f/2.8 on a full frame with a subject at 1m distance:  61mm
50mm lens @ f/2.8 on a full frame with a subject at 3m distance: 580mm

50mm lens @ f/1.4 on a Canon APS frame with a subject at 1m distance:  19mm
50mm lens @ f/1.4 on a Canon APS frame with a subject at 3m distance: 178mm
50mm lens @ f/2.8 on a Canon APS frame with a subject at 1m distance:  38mm
50mm lens @ f/2.8 on a Canon APS frame with a subject at 3m distance: 358mm

Итак, полная формула с CoC и HyperFocal предварительно рассчитана:

TotalDoF[mm] = ((HyperFocal * distance) / (HyperFocal – (distance – focal))) -(HyperFocal * distance) / (HyperFocal + (distance – focal))

или упрощенно:

TotalDoF[mm] = (2 * HyperFocal * distance * (distance - focal)) / (( HyperFocal + distance - focal) * (HyperFocal + focal - distance))

С предварительно рассчитанным CoC: Я попытался упростить следующие уравнения со следующими заменами: а = расстояние просмотра (см) b = желаемое конечное разрешение изображения (lp / mm) для расстояния просмотра 25 см с = увеличение d = FocalLength е = диафрагма f = расстояние X = CoC

TotalDoF = ((((d * d) / (e * X)) * f) / (((d * d) / (e * X)) – (f – d))) - ((((d * d) / (e * X)) * f) / (((d * d) / (e * X)) + (f – d)))

Упрощенная:

TotalDoF = (2*X*d^2*f*e(d-f))/((d^2 - X*d*e + X*f*e)*(d^2 + X*d*e - X*f*e))

Еще больше упростили с WolframAlpha:

TotalDoF = (2 * d^2 * e * (d - f) * f * X)/(d^4 - e^2 * (d - f)^2 * X^2)

Или, если ничего не рассчитано, вы получите этого монстра, который непригоден для использования:

TotalDoF = ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) * distance) / ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) – (distance – focal)) - ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) * distance) / ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) + (distance – focal))

Упрощенная:

(50*a*b*c*d^2*f*e*(d-f))/((25*b*c*d^2 - a*d*e + a*f*e)*(25*b*c*d^2 + a*d*e - a*f*e)

Так что в основном используйте пересчитанные CoC и HyperFocal:)

8 голосов
/ 01 июля 2012

Если вы хотите увидеть практическую реализацию формул глубины резкости, вы можете проверить это Онлайн-калькулятор глубины резкости . Источник связанной HTML-страницы содержит все формулы, реализованные в Javascript.

4 голосов
/ 03 июля 2012

Да, есть формулы. Вы можете найти в http://www.dofmaster.com/equations.html. Эти формулы используются в этом калькуляторе, он также объясняет глубину резкости более подробно. Я несколько раз пользовался этим сайтом и обнаружил, что он достаточно точен после проведения практических испытаний.

3 голосов
/ 26 января 2013

Вот простая формула DOF. Надеюсь, это поможет.

    DOF = 2 * (Lens_F_number) * (circle_of_confusion) * (subject_distance)^2 / (focal_length)^2

Ссылка: http://graphics.stanford.edu/courses/cs178-09/applets/dof.swf

0 голосов
/ 13 февраля 2017

P = точка, сфокусированная на

Pd = дальняя точка, четко определенная

Pn = близко очерченная точка

D = диаметр круга путаницы

f = f-номер

F = фокусное расстояние

Pn = P ÷ (1 + PDf ÷ F ^ 2)

Pd = P ÷ (1-PDf ÷ F ^ 2)

Промышленный стандарт для установки D = 1/1000 фокусного расстояния. Для более точной работы используйте 1/1500 фокусного расстояния. Предположим, фокусное расстояние 100 мм, затем 1/1000 из 100 мм = 0,1 мм или 1/1500 = 0,6666 мм

Добро пожаловать на сайт Фотопедия, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...