【问题标题】:MATLAB - What are the units of Matlab Camera Calibration ToolboxMATLAB - Matlab Camera Calibration Toolbox的单位是什么
【发布时间】:2013-08-02 17:18:05
【问题描述】:

当显示校准的外部参数(包括相机位置和校准棋盘位置的 3D 模型)时,工具箱不包括轴的单位。假设它们以 mm 为单位似乎是合乎逻辑的,但如果它们确实以 mm 为单位,则显示的 z 值不可能是正确的。我假设正在进行一些转换,可能与光学坐标和单位有关,但我无法从文档中弄清楚。有人解决了这个问题吗?

【问题讨论】:

  • 会是像素吗?你在the documentation 中发现了什么?为什么这被标记为 python
  • 那是个错误,我删除了标签。文档只讨论像素,我的线性代数太弱了,无法理解发生了什么。我确实认为它可能是像素 - 像素大小是恒定的,由相机的传感器决定,对吗?尚不确定如何将其与距离联系起来。
  • 我不认为它是像素。我的 z 值为 990,传感器中每个像素有 5.5 微米。根据我的计算,这转换为 z = 5.4cm,太接近了。物体距离传感器约 50 厘米。如果我有 z = 54 厘米,我会更有希望 - 有什么想法吗?

标签: matlab 3d camera camera-calibration


【解决方案1】:

如果您以毫米为单位标记正方形的边长,则显示的 z 距离将以毫米为单位。

【讨论】:

    【解决方案2】:

    我对 matlabs 几乎一无所知(不完全正确,但我尽可能避免使用 matlab,这几乎总是可能的)跟踪实用程序,但这里有一些一般信息。

    传感器上的像素尺寸与屏幕上或模型空间中的像素大小无关。出于所有目的,相机产生的图片没有有意义的单位。跟踪过程不知道场景的规模。 (透视投影可以解决这个问题)。您可以通过获取 2 个跟踪点并测量这些点之间的距离来重新插入刻度。这是求解器空间距离几乎是任意的。现在,如果您知道这些点之间的实际距离,您可以获得转换因子。通过这样做:

    真实距离/求解器空间距离。

    现在确实有办法通过相机设置了解这个距离,因为相机无法区分不同比例的场景。因此,对于求解器而言,完美的 1:100 复制品与真实交易没有什么不同。因此,您必须考虑到可以为每个测量会话单独测量的内容。相机总是会产生一些本质上是相对的东西。

    【讨论】:

    • 您好,感谢您的意见。我得出了同样的结论,我将用已知尺寸的物体拍摄更多图像。奇怪的是,提供的三角测量功能准确地确定了我图像中点之间的距离。不幸的是,似乎有一个比例因子关闭(我认为它是focal length/distance)。也许这只能通过一些实际测量来解决。
    猜你喜欢
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多