【问题标题】:When will camera distortion coefficients change相机畸变系数何时会改变
【发布时间】:2022-01-09 07:11:40
【问题描述】:

如果我捕获具有已知真实世界坐标的棋盘图案的单个视图,我可以使用例如 OpenCV calibrateCamera 函数来计算该相机的失真系数。

这些畸变系数是内在参数,不依赖于相机位姿,所以如果相机移动畸变系数不会改变,至少这是我的理解。 我的问题是这些系数什么时候会改变?我相信它们会随着系统中的组件(像素、镜头、支架等)的膨胀和收缩而随着温度的变化而变化,但温度是可以控制的。

可以为系统计算一次失真而不再计算失真吗?如果镜头被移除然后重新安装怎么办?如果到被成像物体的距离发生变化(工作距离)怎么办?

我在任何地方都找不到太多关于此的讨论。

【问题讨论】:

  • 失真取决于独特的相机和镜头,因此如果您更换镜头,您可能需要再次计算新的内在函数。 Zoom 对内在函数的影响比对焦点的影响更大,但为了完美不失真,你应该同时锁定它们。我没有因温度、老化等而退化的经验。理论上,一旦镜头或传感器位置/方向发生变化(相对于彼此),您就必须重新校准。
  • 失真会随焦距而变化。您可以开发包含此参数的模型,但通常无法以数字方式获得该设置。其他变化可能不太显着。但是您可以自己轻松地进行实验。

标签: opencv image-processing computer-vision camera-calibration


【解决方案1】:

您必须首先定义术语“更改”。例如,您是否会将失真参数中的 +0.0001 视为更改?无论你做什么,内在和镜头畸变参数总是至少会发生一点点变化。

这些是我通常在应用程序是高端工业级测量设备的情况下进行重新校准的情况:

  1. 当镜头锁定螺钉被触摸时。
  2. 调整镜头焦距时。
  3. 当工作环境发生变化时。 (湿度、温度)
  4. 当我掉落设备时。
  5. 当有人触摸镜头部分时。

如果您的应用对精度不是很敏感,只需在更换镜头或调整焦距时进行重新校准即可。

【讨论】:

    猜你喜欢
    • 2016-11-16
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 2011-09-07
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多