5

我想知道照片的景深,最好以厘米或米为单位。

我知道我们可以通过读取EXIF标签知道相机设置,但是有标签直接告诉我们景深吗?或者我们如何从一些 EXIF 标签中计算出来?

示例将不胜感激。谢谢!

4

4 回答 4

6

计算景深:

t = A * (S/1440) * (D - F) / F^2

近焦距离 = D/(1+t)

远焦距 = D/(1-t)

而全景深就是这些之间的区别。

变量是:

A = 镜头光圈(F 数)

S = 相机传感器或胶片平面对角线尺寸,单位为 mm

D = 以毫米为单位的焦距

F = 镜头焦距,单位为 mm

当然,对焦的锐度是主观的,通过改变弥散圆(CoC)计算中的常数来调整。在这里,我使用了 CoC = S/1440,这是一个常用的值。

于 2009-09-22T14:53:17.943 回答
2

我在这里猜,所以如果其他人能证实这一点,我将不胜感激:

我相信您无法从可用的 EXIF 数据中以编程方式确定景深 - 您必须知道 f-stop、焦距,而这很关键:被摄体距离。

字段FNumberFocal Length会给你前两个。第三个通常无法用相机确定。您需要一些测距机制 - 一些额外的相机设备或一些已知的三角测量值。

于 2009-09-18T11:03:24.123 回答
1

这个网页http://www.dofmaster.com/dofjs.html对景深计算所涉及的内容有一个简单的解释:

于 2009-09-18T11:13:32.917 回答
1

我在寻找自由度计算时遇到了上述公式并找到了这些。

只是几点:

  1. 需要在程序中检查 t 的值。如果t = 1,那么焦距是D/2和无穷大,在这种情况下 D 实际上是超焦距(hfd)。这很容易证明,并给出了近似的 hfd (f**2)/(coc*Fnumber)

  2. 如果 t 大于 1,您的答案将是否定的,这是一个毫无意义的结果

于 2010-08-20T10:23:28.603 回答