我搜遍了互联网,这被认为很容易。但是更难得到一个直接的答案。我需要将点云转换为世界坐标系。在变换之前,Z轴(kinect传感器)将指向物体,x轴指向底部,Y轴指向左侧。或任何其他方向的kinect传感器。在变换之后,X轴朝向物体,Y轴向左,Z轴向顶部,即固定的世界坐标。最简单的方法来实现它?。
这是我到目前为止所尝试的。我试图找到云的观点,认为它会给我定位世界坐标系。但它需要kinect作为起源。所以我得到了非转换矩阵。 i,e身份轮换矩阵和单位翻译向量。
请有人能给我一些线索吗?。
答案 0 :(得分:1)
kinect坐标将是Z轴面向对象,x轴指向底部,y轴指向右侧。所以这种转变应该有效。
double thetha=M_PI/2;
Eigen::Affine3f transform_2 = Eigen::Affine3f::Identity();
//在x轴上定义2.5米的平移。
transform_2.translation() << 0.0, 0.0, 0.0;
//与之前相同的旋转矩阵; thetha弧度绕Z轴。
transform_2.rotate (Eigen::AngleAxisf (-theta, Eigen::Vector3f::UnitZ()) * Eigen::AngleAxisf (-theta, Eigen::Vector3f::UnitX()));