在PointT和PointXYZ之间转换

时间:2013-05-01 08:29:40

标签: oop templates point-cloud-library point-clouds

我编译并运行它 https://github.com/otherlab/pcl/blob/master/apps/src/openni_ii_normal_estimation.cpp

但是我现在希望能够访问有关法线和x,y,z点的基础原始信息。但是,我似乎无法从CloudConstPtr(即pcl :: PointCloud :: ConstPtr)中提取原始信息(例如x,y,z位置)。

我已尝试转换为模板类型为PointXYZ的新PointCloud对象,但这无效。有人可以演示如何提取xyz信息吗?应该很容易。

1 个答案:

答案 0 :(得分:1)

您想要访问提取 XYZ信息吗? (我现在不能尝试运行代码,但确实应该很容易)

如果要访问它,可以在云对象的points属性中找到它,例如:

cloud->points[pointNumber].x
cloud->points[pointNumber].y
cloud->points[pointNumber].z

(假设云变量是一个指针)

如果要将其提取到单独的点云或数据类型,只需将其循环并将points数据复制到单独的对象/变量即可。或者只是简单地使用

pcl::copyPointCloud()

内部函数将其复制到另一个PCL云类型(有关详细信息,请参阅API文档,可在common命名空间中找到。)