从Matt Grum的评论到我以前的问题,我了解到制造商可能会随意将镜头的实际焦距“舍入”到一些不错的数字,然后将其打印在包装盒上并存储到EXIF中。从他对同一问题的回答看来,我似乎需要知道镜头的实际焦距才能测试所使用的光圈。
我也听说大多数镜头在非常近距离对焦时都会改变焦距。
当聚焦在给定距离上时,我将如何测试镜头实际使用的焦距?EXIF显然不会在这里对我有所帮助,因为数据是由制造商存放在这里的。
从Matt Grum的评论到我以前的问题,我了解到制造商可能会随意将镜头的实际焦距“舍入”到一些不错的数字,然后将其打印在包装盒上并存储到EXIF中。从他对同一问题的回答看来,我似乎需要知道镜头的实际焦距才能测试所使用的光圈。
我也听说大多数镜头在非常近距离对焦时都会改变焦距。
当聚焦在给定距离上时,我将如何测试镜头实际使用的焦距?EXIF显然不会在这里对我有所帮助,因为数据是由制造商存放在这里的。
Answers:
有一种数学/测量方法可以通过测量镜头的视角来计算镜头的有效焦距。
视角的公式为
要计算有效焦距(f),公式可得出:
f = d /(2 * tan(α/ 2))-> Equation1
其中d代表传感器在测量方向上的尺寸。如果使用全画幅相机,则d为24。
现在让我们有以下设置来测量α
您有一台摄像机,它与地面的高度为H,而与墙壁的距离为X,且带有刻度。现在拍照,您应该能够读取镜头可以看到的最大高度(即H + Y)。
现在知道了X和Y,我们可以使用此链接计算一半的视角(即α/ 2)(X是相对的一面,Y是相邻的一面)
既然您已经找到了α/ 2,就可以在Equation1上使用它来计算镜头的有效焦距。
该值仅作为您的测量值是准确的。
编辑1:
关于mattdm的问题:制造商规定的传感器尺寸是否足够接近?
关于这些链接中相机的传感器尺寸:在这里和这里,
我们可以合理地假设相机制造商或至少佳能和尼康将其传感器尺寸倒圆1/10毫米。也就是说,如果它们使传感器尺寸变圆,则可能存在+/- 0.05mm的误差。
让我们考虑三种类型的镜头:
1.广角镜头(例如13mm,视角:85.4)
2.普通镜头(50mm,视角27.0)
3.远摄镜头(300mm,视角:4.58)
传感器尺寸
变化0.05mm的影响是:广角镜的变化= 0.05 /(2 * tan(85.4 / 2))= 0.04613 mm appx。
代表相差0.35%(即(0.04613 / 13)* 100)
普通镜头的变化= 0.05 /(2 * tan(27/2))= 0.012毫米左右。
代表相差0.024%(即(0.012 / 50)* 100)
长焦镜头的变化= 0.05 /(2 * tan(4.58 / 2))= 0.0019毫米(约)
代表相差0.0006%(即(0.0019 / 300)* 100)
因此,我们可以看到,对于13mm广角镜头,制造商的测量误差为0.05mm,焦距的变化仅为0.35%。
我希望我的数学是正确的。
编辑2:
关于Imre有关X和H的测量问题,
应从地面到传感器的水平中心测量H。
X是传感器与墙壁之间的距离。
假设标准镜头,标准相机(即装置)可以建模为针孔相机。这不适用于倾斜/平移,也许不适用于广角镜(如果您想了解这些,我们可以解决)。
在计算机视觉中,通常会计算摄像机的固有属性。内在的,因为它们指的是摄像机内部的摄像机设置。外在属性是方向和位置。本征特性是几种,其中包括放大倍数。我的解决方案是:
CV中的校准通常使用棋盘图案完成。您从不同的位置和距离拍摄了几张(〜10张)该图案的照片。该算法将以以下方式工作:
假设您知道板上每个顶点的位置,请为相机模型找到一组参数,这些参数可以最好地说明如何在图像中查看板上的所有点。
从理论上讲,我会为此推荐OpenCV,它提供了一个示例代码。但这可能不太实用(为此您需要安装OpenCV,并可能需要更改一些代码。)。可能还有其他解决方案可以做到这一点。
校准步骤的结果是K矩阵(称为本征矩阵)。它将相机坐标系中的3个空间点映射到图像平面上的同构2个空间点。
$ \alpha 0 p_x
K = 0 \alpha p_y
0 0 1 $ (Multiple View Geometry, p. 157, 2nd Ed, 2003, Hartley & Zisserman)
我们在这里只关心\ alpha。p_x大约是像素传感器宽度的一半,与p_y相似,它与主光线与像平面相交的位置有关。有趣的是,我的廉价电话摄像头侵犯的不仅仅是优质的数码单反相机,甚至是昂贵的网络摄像头或Iphone 4摄像头。
然后\ alpha与焦距有关。\ alpha = f m。m是图像坐标中每单位距离的像素数。f是焦距。但请注意:这是在针孔相机模型中,因此图像平面与相机针孔之间的距离。我不确定如何找到摄影师想到的焦距。
有人发布了有关另一种方法的链接:http : //www.bobatkins.com/photography/technical/measuring_focal_length.html 在本文的“简易方法”中,提出了另一种方法。给定两颗星,请查找星的位置并计算它们之间的角度。然后查看相机设置如何测量该角度。阅读链接以获取完整的遍历。
缺点是它不能在任何焦距下工作,而只能在无限远处工作。另一方面,我的方法在无限远时不起作用。或将500m视为无穷大,购买玉米田并在其中修剪棋盘图案,租用飞机并从500m以上拍摄照片...
使用物体和图像尺寸计算镜头的倍率M。利用M和物距,可以计算出镜头的焦距。
您可以将镜头放在书本上,这样就可以制作出粗糙的光学平台。好照亮一个目标。最好是一把尺子。调整镜头,使标尺的图像落在白皮书屏幕上。
摸索距离,直到尺子的图像达到“真人大小”。您知道1:1,否则称为“放大倍数”。使用另一个标尺,测量投影标尺图像上标记之间的距离。使用两个相同的标尺会有所帮助。现在建立必要的1:1放大倍率。
现在测量目标和屏幕之间的距离。将该值除以4。此答案给出了镜头的焦距。