当显示校准的外部参数(包括相机位置和校准棋盘位置的3D模型)时,工具箱不包括轴的单位。假设它们以毫米为单位似乎是合乎逻辑的,但如果它们确实以毫米为单元,则显示的z值不可能是正确的。我假设存在一些转换,可能与光学坐标和单位有关,但我无法从文档中弄清楚。有人解决了这个问题吗?
如果您将正方形的边长标记为毫米,则显示的z距离将以毫米为单位。
我对matlabs几乎一无所知(不完全正确,但我尽可能避免使用matlab,这几乎总是可能的)跟踪实用程序,但这里有一些一般信息。
传感器上的像素尺寸与屏幕上或模型空间中的像素大小无关。无论出于何种目的,相机都会产生一张没有意义单位的图片。跟踪过程不知道场景的比例。(透视投影解决了这个问题)。您可以通过获取2个跟踪点并测量这些点之间的距离来重新插入比例。这是解算器空间的距离,几乎是任意的。现在,如果你知道这些点之间的实际距离,你就可以得到一个转换因子。通过做:
实际距离/解算器空间距离。
现在确实有办法从相机设置中了解这个距离,因为相机无法区分不同比例的场景。因此,对于解算器来说,完美的1:100复制品与真实交易没有什么不同。因此,你必须消除与你可以在每个测量会话中单独测量的东西的关联。相机总是产生一些本质上相对的东西。