相机标定中的疑惑

6

我正在进行一项基于机器视觉的项目。使用具有高分辨率针孔摄像头的广角镜头。

工作距离:摄像机与物体之间的距离。

分辨率将近10MP。图像大小可能为3656像素宽度和2740像素高度。 项目要求如下:

  1. 我的工作距离必须接近5米。
  2. 摄像机需要以13度的角度倾斜。

为了避免相机中的镜头畸变,我使用OpenCV进行相机校准。

以下是我对相机校准的疑问:

  1. 由于工作距离为5米,是否应该使用相同距离进行相机校准?

  2. 由于相机在应用程序中被倾斜了13度,是否有必要使校准相机在相应的角度倾斜?

3个回答

7

对于第一个问题,我的答案是"或许",对于第二个问题则是否定的。

虽然严格来说,在镜头校准时不需要与目标在相同或附近的距离处进行校准,但实际上,只有当你有足够的景深(特别是当你对焦在无限远处)并使用固定光圈时才有可能实现。

原因在于相机校准的第二条规则:"在校准期间和之后,你不得触摸镜头。"特别是,你不能重新聚焦或更改光圈,因为聚焦和光圈都会影响非线性镜头畸变和视场(取决于镜头的影响程度)。当然,你完全可以自由地更改曝光时间,因为这不会影响镜头的几何形状。

关于此,还可以参考我 另一篇回答 的一般评论。


1
我知道摄像机校准的第二个规则,但我很好奇,第一个规则是什么? - Alessandro Jacopson
2
避免像地狱一样的校准,除非你真的真的需要它。 - Francesco Callari

5
这两个问题的答案都是否定的。相机校准本质上是在假定针孔相机模型的情况下找到焦距和像素平面之间的关系;而且(由于您需要广角镜头)还可以选择性地找到径向畸变。这些关系与相机在世界中的位置无关。
顺便说一下,我看到你标记了matlab:我可以推荐使用Camera Calibration Toolbox for MATLAB进行相机校准,它是一个不错的易用工具,可以很好地指导您完成整个过程。

1

摄像头的角度不是问题,但您确实希望将校准目标放在大约工作距离处与相机进行校准。理论上,距离不应该有影响。但在现实中,如果您在1米处进行校准,然后尝试测量距离为5米的物体,误差会更大。

此外,请查看Computer Vision System Toolbox for MATLAB中的CameraCalibrator应用程序。


你好,当我在搜索有关相机校准的信息时,我看到了你在SE/SO上的多个答案。我在这里发布我的问题作为评论,因为我认为它可能不会得到太多关注。相机校准是非常具体的事情。我阅读了你提供的答案,但不幸的是,在我的情况下无法使用这些信息。你能否分享一下你的见解?https://stackoverflow.com/questions/46225943/how-to-correctly-calibrate-my-camera-with-a-wide-angle-lens-using-opencv - privetDruzia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接