Matrix 点相对于参考坐标系的坐标

Matrix 点相对于参考坐标系的坐标,matrix,camera,computer-vision,kinect,camera-calibration,Matrix,Camera,Computer Vision,Kinect,Camera Calibration,所以我有一个摄像机,我用它来获取它前面的物体的摄像机坐标(物体的坐标w.r.t.摄像机)。所以我能够做到这一点 现在我想找到物体的坐标,相对于我放在地上的坐标系。(参考坐标/世界坐标) 我知道这只是一个旋转/平移矩阵 我很难得到这个矩阵。有人知道我该怎么做吗 所以我基本上有我的目标物体的XYZ摄像机坐标和我放置的轴作为我的参考坐标系 谢谢 您可以执行校准程序,以识别放置坐标系的两个公共点。这不能仅使用Kinect完成。你必须放置一个物理点来识别你的x,y坐标系。例如,您可以在0,0坐标上固定一个

所以我有一个摄像机,我用它来获取它前面的物体的摄像机坐标(物体的坐标w.r.t.摄像机)。所以我能够做到这一点

现在我想找到物体的坐标,相对于我放在地上的坐标系。(参考坐标/世界坐标)

我知道这只是一个旋转/平移矩阵

我很难得到这个矩阵。有人知道我该怎么做吗

所以我基本上有我的目标物体的XYZ摄像机坐标和我放置的轴作为我的参考坐标系


谢谢

您可以执行校准程序,以识别放置坐标系的两个公共点。这不能仅使用Kinect完成。你必须放置一个物理点来识别你的x,y坐标系。例如,您可以在0,0坐标上固定一个垂直杆,一旦触摸该杆,您可以获得该物理杆的相应Kinect坐标,现在该Kinect坐标是计算机空间中的相对0,0。现在,您在计算机空间中找到的任何点都必须重新计算到您找到的相对点。

假设您有:

  • 一组XYZ坐标,属于对象的跟踪特征wrt to camera
  • 某些CAD(或世界)参照系(设计坐标)中相同特征的XYZ坐标
通过使用Kabsch算法计算这些成对点坐标集之间的最佳旋转,可以获得旋转和平移:

所以,基本上你:

  • 获取每个坐标集[XYZ]_i的质心,其中i=1,2
  • 取消每个坐标的质心(从每个[XYZ]中减去每个质心)
  • 形成协方差矩阵(称之为C)
  • 将奇异值分解应用于协方差矩阵[U,S,V]=奇异值分解(C)
  • 旋转=V*U',其中,'是转置运算符
  • 平移=-R*_uz[XYZ]1的质心_+_z[XYZ]2的质心_
  • 这里有一个很好的关于查找此旋转~平移对的指南:

    我希望有帮助