使用点云库将点云转换为世界坐标

Posted

技术标签:

【中文标题】使用点云库将点云转换为世界坐标【英文标题】:transform point cloud to world coordinate using point cloud library 【发布时间】:2015-03-11 00:54:26 【问题描述】:

我搜索了整个互联网,这应该很容易。但它越来越难得到一个直接的答案。我需要将点云转换为世界坐标系。在转换之前,Z 轴(kinect 传感器)将指向对象,x 轴指向底部,Y 轴指向左侧。或任何其他方向的 kinect 传感器。变换后,X 轴指向物体,Y 轴指向左侧,Z 轴指向顶部,即固定的世界坐标。实现它的最简单方法是什么?

这是我到目前为止所尝试的。我试图找到云的视点,认为它会给我世界坐标系的方向。但它以kinect为起源。所以我得到了非变换矩阵。 i,e 恒等旋转矩阵和单位平移向量。

谁能给我一个线索?

【问题讨论】:

抱歉,我是 *** 的新手,无法添加图片……但如果存在进一步的疑问,我可以回答。 【参考方案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()));

【讨论】:

以上是关于使用点云库将点云转换为世界坐标的主要内容,如果未能解决你的问题,请参考以下文章

将屏幕空间转换为世界空间以在 python 中创建点云

使用OSG显示点云时,如何正确将空白处屏幕坐标转为最接近点云的世界坐标

点云格式转换:txt点云转pcd点云(XYZXYZIXYZRGBXYZIRGBGpstime)

点云格式转换:txt点云转pcd点云(XYZXYZIXYZRGBXYZIRGBGpstime)

PCL实现选框裁剪点云

PCL实现选框裁剪点云