Как узнать или рассчитать глубину резкости фотографии по тегам EXIF?
-
22-07-2019 - |
Вопрос
Я хочу знать глубину резкости фотографии, предпочтительно в сантиметрах или метрах.
Я знаю, что мы можем узнать настройки камеры, прочитав теги EXIF, но есть ли тег, напрямую указывающий нам глубину резкости?Или как мы можем вычислить это по некоторым тегам EXIF?
Я был бы признателен за примеры.Спасибо!
Решение
Расчет глубины резкости:
t = A * (S / 1440) * (D - F) / F ^ 2
Расстояние ближней фокусировки = D / (1 + t)
Дальнее фокусное расстояние = D / (1-т)
И полная глубина резкости - это разница между ними.
Переменные:
A = диафрагма объектива (число F)
S = сенсор камеры или размер диагонали плоскости пленки в мм
D = фокусное расстояние в мм
F = фокусное расстояние объектива в мм
Конечно, резкость фокуса субъективна и корректируется путем изменения константы при расчете круга путаницы (CoC). Здесь я использовал CoC = S / 1440, это значение, которое обычно используется.
Другие советы
Я предполагаю здесь, поэтому я был бы признателен, если кто-нибудь еще сможет подтвердить это:
Я полагаю, что вы не можете программно определить глубину резкости по доступным данным EXIF - вы должны знать f-stop, фокусное расстояние, и это очень важно:расстояние до объекта съемки.
Поля FNumber
и Focal Length
приведу вам первые два.Третье обычно невозможно определить с помощью камеры.Вам понадобится какой-нибудь механизм для определения дальности - какое-нибудь дополнительное оборудование для камеры или какие-нибудь известные значения для триангуляции.
Эта веб-страница http://www.dofmaster.com/dofjs.html содержит прямое объяснение того, что участвует в расчетах глубины резкости:
Я наткнулся на приведенные выше формулы, когда искал вычисления dof, и нашел их.
Всего пара моментов:
<Ол> Значения t необходимо проверить в программе. Если t = 1
, то фокусные расстояния составляют D / 2
и бесконечность, и в этом случае D фактически является гиперфокальным расстоянием (hfd)
. Это легко доказать и дает hfd как (f ** 2) / (coc * Fnumber)
.
Если t больше 1, ваши ответы будут отрицательными, и это бессмысленный результат