1

使用立体视觉Computer Vision System Toolbox by Mathworks,我能够重建被检查对象。对齐Matlab CVST的3D立体坐标系统沿着局部垂直和局部水平方向

校准后,我知道立体声设置使用的坐标系统被提到here(它是相机1的光学中心)。

我注意到在现实世界的3D中可能不会遵循相同的坐标系统。例如,本地垂直(可以使用水平仪找到的地方)不需要与立体声设置的坐标系统的垂直轴(y轴)对齐。

假设我只是沿着本地垂直方向移动我的对象,但它的x位置没有任何变化(即该位置的本地水平),根据摄像机使用的立体坐标系统,我的对象将沿着y轴(显然),也沿着相机的x轴(这是不正确的,因为根据现实世界,我的物体还没有沿着局部水平移动!)。

我该如何解决这个问题?我根据当地的垂直和本地水平(使用水平仪)以及我的对象调整立体声设置。但是,当我沿着局部垂直方向移动它时,x坐标读数也会有几毫米的变化。任何有关这方面的意见将不胜感激。

+0

我认为它的问题与[Agnel Kurian here]所提出的类似(http://stackoverflow.com/questions/3147335/changing-co-ordinate-system)。我的是MATLAB,也是一个3D坐标系统。我的Camera1考虑的坐标系与现实世界相比是不同的。例如,Stereo Camera1的y轴与本地垂直不相同(不平行)。 – Meghana

回答

0

请注意,在基于相机的坐标系中,X-Y平面是摄像机内部的图像平面。它可能不会与相机的外壳精确对齐。

如果您需要一个与相机无关的世界坐标系,那么您可以通过在场景中放置棋盘来定义一个世界坐标系。然后,您可以使用extrinsics函数计算从棋盘坐标到相机坐标的转换。

+0

是的,我知道这一点。我想知道更多关于如何操作的细节,以及应用哪种转换。我想要一个世界统筹体系,我可能会用棋盘来定义。我怎样才能定义它? – Meghana