如何通过相机校准的结果计算以mm为单位的焦距?

时间:2019-03-31 10:32:36

标签: opencv camera-calibration

相机校准结果中的焦距以像素为单位,但是我需要以mm为单位的值。如何计算?

我使用OpenCV校准摄像机并获得内部参数矩阵,还获得了罗技社区中的摄像机传感器尺寸。

the camera matrix is
[1432.379199223981, 0, 949.4032591833937;
 0, 1432.97806149025, 518.5291260500587;
 0, 0, 1]
and the size of sensor is 6.00mm, width of 4.80mm and height of 3.60mm (16:9 format).

我想获得以mm为单位的焦距,如何计算?

1 个答案:

答案 0 :(得分:0)

这只是一个比例:

sensor_width_mm:传感器width_pixels = focus_length_mm:focus_length_pixels

有一个物理焦距(镜头出射光瞳和焦点之间的距离),但是您可以写出两个这样的方程,一个用于宽度,一个用于八个,因此您得到两个结果。理论上,差异是由于像素的非矩形性造成的。如果传感器的规格表显示像素为正方形,并且未执行不均匀的图像处理,则差异本身可能是虚幻的,具体取决于您的校准精度。在这种情况下,只需平均即可。