相机校准存在疑问



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

工作距离:摄影机和对象之间的距离。

决议将接近10MP。图像大小可以是3656像素宽度和2740像素高度。项目要求如下所述

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

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

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

  1. 既然工作距离是5米,那么相机校准也应该在相同的距离下进行吗?

  2. 由于相机在应用中倾斜了13度角,是否也需要在相机倾斜各个角度的情况下进行校准?

我对第一个问题的回答是"maybe",对第二个问题的答案是"no"。

虽然确实没有严格必要将目标与受试者保持相同或附近的距离进行校准,但在实践中,只有当你有足够的景深(特别是当你聚焦在无穷远处时),并使用固定光圈时,才有可能进行校准。

原因是相机校准的第二条规则:"在校准过程中或校准后,不得触摸镜头"。特别是,你可能不会重新聚焦,也不会改变f光圈,因为聚焦和光圈都会影响非线性镜头失真和视野(尽管根据镜头的不同,影响较小)。当然,你可以完全自由地改变曝光时间,因为它根本不会影响镜头的几何形状。

关于一般性意见,另见我的另一个答复。

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

顺便说一句,我看到你把它标记为matlab:我可以推荐MATLAB的相机校准工具箱作为校准相机的一种简单方法。它很好地引导你们完成这个过程。

相机的角度不是问题,但您确实希望将校准目标与相机保持大致的工作距离来校准相机。理论上,距离应该无关紧要。然而,在现实中,如果你在1米处校准,然后尝试在5米外测量,你会有更大的误差。

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

相关内容

  • 没有找到相关文章

最新更新