【问题标题】:Need to remove Camera Lens Distortion需要消除相机镜头失真
【发布时间】:2020-03-08 21:08:12
【问题描述】:

我们有this camera,它是ELP180度超广角畸变校正。我们需要标准化从这个相机捕获的图像。但它既不是鱼眼也不是标准相机。

据我了解,这是桶形失真。但是,如果您注意到直线是水平弯曲的,而垂直线不是弯曲的。相机的制造商说它是“失真校正”的。所以让我们假设他们想说垂直失真得到了纠正,但水平没有得到纠正。

我们尝试了以下两种消除失真的方法,但并不完美。请帮助我们消除其失真。非常感谢。


  1. 我们尝试了 OpenCV Camera Calibration 以获得相机Intrinsic ParametersDistortion Coefficient

内在参数

[673.9683892, 0., 343.68638231]
[0., 676.08466459, 245.31865398]
[0., 0., 1.]

失真

[5.44787247e-02, 1.23043244e-01, -4.52559581e-04, 5.47011732e-03, -6.83110234e-01]

  1. Matlab 计算机视觉工具获取内在参数失真系数

内在参数

 [291.11314081, 0.0, 289.772432415],
 [0.0, 274.219315391, 223.73258747],
 [0., 0., 1.0]

失真

[-3.0108207175179114e-01, 1.0803633903579697e-01, 4.3487318865386296e-03, -5.9566348399883859e-04, -1.8867490263403317e-02]

结果

Original image:

After Removing Distortion:

【问题讨论】:

标签: opencv camera computer-vision camera-calibration matlab-cvst


【解决方案1】:

尝试在matlab的Camera Calibrator中使用鱼眼相机模型

【讨论】:

    【解决方案2】:

    在我看来,可能有一个棱镜(或等效于数字棱镜的重映射滤镜)在水平方向“挤压”图像,从而在视觉上突出水平方向的桶。

    如果我是对的,我认为标准的 OpenCv Heikkila-Silven 模型不适合它。您需要在 (x, y) 中拟合 2 个单独的高阶多项式,一个用于失真的水平分量,一个用于垂直分量。

    查找“变形镜头畸变”

    【讨论】:

      猜你喜欢
      • 2017-11-13
      • 1970-01-01
      • 1970-01-01
      • 2014-11-29
      • 2017-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多