Oop 在PointT和PointXYZ之间转换

Oop 在PointT和PointXYZ之间转换,oop,templates,point-cloud-library,point-clouds,Oop,Templates,Point Cloud Library,Point Clouds,我已经编译并运行了这个 但是,我现在希望能够访问有关法线和x、y、z点的基本原始信息。然而,我似乎无法从CloudConstPtr(即pcl::PointCloud::ConstPtr)中提取原始信息(例如x、y、z位置) 我已尝试强制转换到模板类型为PointXYZ的新PointCloud对象,但这无效。有人能演示如何提取xyz信息吗?这应该很简单。您想访问还是提取XYZ信息?(我现在无法尝试运行代码,但确实应该很容易) 如果要访问它,可以在云对象的点属性中找到它,例如: cloud->

我已经编译并运行了这个

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


我已尝试强制转换到模板类型为PointXYZ的新PointCloud对象,但这无效。有人能演示如何提取xyz信息吗?这应该很简单。

您想访问还是提取XYZ信息?(我现在无法尝试运行代码,但确实应该很容易)

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

cloud->points[pointNumber].x
cloud->points[pointNumber].y
cloud->points[pointNumber].z
(假设云变量是指针)

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

pcl::copyPointCloud()

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

向我们显示您使用的确切代码。记住,没有实际的指针。这是一个模板参数。它本身不是一个真正的物体。注意不要使用PCL标签。它与PointClouds库无关。