6

我正在做一个基于机器视觉的项目。正在使用带有高分辨率针孔相机的广角镜头。

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

分辨率将接近 10MP。图像大小可以是 3656 像素宽和 2740 像素高。项目要求如下

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

为了避免相机镜头失真,我使用 OpenCV 进行相机校准。

下面提到的是我对这个相机校准的疑问

  1. 由于工作距离是 5 米,相机校准是否也应该在相同的距离下进行?

  2. 由于相机在应用程序中倾斜了 13 度角,是否需要在相机倾斜相应角度时也进行校准?

4

3 回答 3

7

我对第一个问题的回答是“也许”,对第二个问题回答“否”。

虽然确实没有必要在与被摄体相同或附近的距离处校准目标,但实际上只有当你有足够的景深时才有可能(特别是,如果你专注于无限远),并使用固定光圈。

原因是相机校准的第二条规则:“校准期间或校准后不得触摸镜头”。特别是,您可能不会重新对焦或更改 f-stop,因为对焦和光圈都会影响非线性镜头失真和(尽管影响较小,取决于镜头)视野。当然,您可以完全自由地更改曝光时间,因为它根本不会影响镜头几何形状。

有关一般性评论,另请参阅我的另一个答案

于 2013-02-14T15:58:57.947 回答
5

这两个问题的答案都是否定的。相机标定本质上是在假设针孔相机模型时找到焦距与像素平面的关系;和可选的(由于您的广角镜头需要),径向失真。这些关系与相机在世界中的位置无关。

顺便说一句,我看到您将其标记为matlab:我可以推荐适用于 MATLAB 的相机校准工具箱作为校准相机的一种非常简单的方法。它可以很好地指导您完成整个过程。

于 2013-02-14T08:52:53.937 回答
1

相机的那个角度不是问题,但您确实希望在距相机大致工作距离处使用校准目标来校准相机。理论上,距离应该无关紧要。但实际上,如果你在 1 米处校准,然后尝试在 5 米外进行测量,则会有更大的误差。

此外,请查看作为 MATLAB 计算机视觉系统工具箱一部分的CameraCalibrator应用程序。

于 2013-09-23T15:11:05.077 回答