我想知道照片的景深,最好以厘米或米为单位。
我知道我们可以通过读取EXIF标签知道相机设置,但是有标签直接告诉我们景深吗?或者我们如何从一些 EXIF 标签中计算出来?
示例将不胜感激。谢谢!
我想知道照片的景深,最好以厘米或米为单位。
我知道我们可以通过读取EXIF标签知道相机设置,但是有标签直接告诉我们景深吗?或者我们如何从一些 EXIF 标签中计算出来?
示例将不胜感激。谢谢!
计算景深:
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,这是一个常用的值。
我在这里猜,所以如果其他人能证实这一点,我将不胜感激:
我相信您无法从可用的 EXIF 数据中以编程方式确定景深 - 您必须知道 f-stop、焦距,而这很关键:被摄体距离。
字段FNumber
和Focal Length
会给你前两个。第三个通常无法用相机确定。您需要一些测距机制 - 一些额外的相机设备或一些已知的三角测量值。
这个网页http://www.dofmaster.com/dofjs.html对景深计算所涉及的内容有一个简单的解释:
我在寻找自由度计算时遇到了上述公式并找到了这些。
只是几点:
需要在程序中检查 t 的值。如果t = 1
,那么焦距是D/2
和无穷大,在这种情况下 D 实际上是超焦距(hfd)
。这很容易证明,并给出了近似的 hfd (f**2)/(coc*Fnumber)
。
如果 t 大于 1,您的答案将是否定的,这是一个毫无意义的结果