2009-09-18 11 views
5

Я хочу знать глубину резкости фотографии, желательно в см или м.Как узнать или рассчитать глубину резкости фотографии с помощью тегов EXIF?

Я знаю, что мы можем знать настройки камеры, читая теги EXIF, но есть ли тег, непосредственно сообщающий нам глубину резкости? Или как мы можем вычислить его из некоторых тегов EXIF?

Примеры были бы оценены. Благодаря!

ответ

6

Расчет глубины резкости:

т = А * (S/1440) * (D - F)/F^2

Близкое расстояние фокусировки = D/(1 + т)

Дальняя дистанция фокусировки = D/(1-т)

И вся глубина Фиэля d - разница между ними.

Переменные:

А = диафрагма объектива (Число F)

S = сенсор камеры или пленку плоскость диагонали размер в мм

D = фокусное расстояние в мм

Р = фокусное расстояние объектива в мм

Конечно, резкость фокуса субъективна и регулируется путем изменения константы при вычислении круг путаницы (CoC). Здесь я использовал CoC = S/1440, который обычно используется.

+0

Вы говорите «D = расстояние фокусировки в мм», каково расстояние фокусировки? Вы имеете в виду расстояние до объекта (что не в EXIF, верно?)? –

+1

D = расстояние, на котором фокусируется объектив. Некоторые заметки производителя сообщают, что это «Расстояние фокусировки». Вы также можете использовать тег EXIF ​​«Subject Distance», предполагая, что камера была сфокусирована на объекте. Но учтите, что этот тег находится в метрах и должен быть умножен на 1000, чтобы получить D для использования в этой формуле. - Phil –

+0

Я вижу. Что относительно «Расстояние фокусировки ниже» и «Расстояние фокусировки вверх» в EXIF? Являются ли они уже значениями глубины поля? –

2

Я предполагаю, что здесь, так что я был бы признателен, если кто-то может подтвердить это:

Я считаю, что вы не можете определить программно глубину резкости из имеющихся данных EXIF ​​- вы должны знать значение диафрагмы, фокусное расстояние, и это имеет решающее значение: расстояние до объекта.

Поля FNumber и Focal Length предоставит вам первые два. Третий, как правило, невозможно определить с помощью камеры. Вам понадобится какой-то механизм для ранжирования - некоторое дополнительное оборудование для камеры или некоторые известные значения для триангуляции.

+1

Камера может знать это. Например, при использовании Canon эта информация используется, например, для измерения вспышки E-TTL 2. Но объектив должен также поддерживать это, что должно быть справедливо для самых последних объективов Canon EF, сторонних, как правило, нет или они утверждают, что они делают, и дают только нули. На некоторых моих фотографиях есть поля «Фокусное расстояние ниже» и «Фокусное расстояние сверху» (по крайней мере, exiftool сообщает о них). – Joey

+0

А, интересно. Таким образом, для некоторых комбинаций камеры/объектива было бы возможно. –

+1

Я думаю, это причина, по которой DOF не находится в данных EXIF, в первую очередь - не так много фотоаппаратов и линз будет иметь технологию фотометрии, которая определяет расстояние объекта –

1

Я наткнулся на приведенные выше формулы, ища вычисления DOF и нашел их.

Просто пару моментов:

  1. Значения т должны быть проверены в программе. Если t = 1, то фокусное расстояние D/2 и бесконечность, в этом случае D фактически является гиперфокальным расстоянием (hfd). Это легко доказать и дает hfd как (f**2)/(coc*Fnumber) приблизительно.

  2. Если т больше, чем 1 ваши ответы будут отрицательными, и это бессмысленный результат