1. Creación y acceso a nube de puntos.
1. Método de asignación de vectores
Push_back los datos del punto en la plantilla de tipo pcl::PointXYZ
1 pcl::PointCloud<pcl::PointXYZ> pointCloud;
2 pcl::PointXYZ point;
3 point.x = 2.0f - y;
4 point.y = y;
5 point.z = z;
6 pointCloud.points.push_back(point);
Acceso: miembros de PointXYZ: flotante x, y, z; representa información xyz3D, se puede acceder al valor de coordenadas del punto X a través de puntos [i].data[0] o puntos [i].x.
2. Plantilla de tipo puntero
1 pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
2 for (int i = 0; i < cloud->points.size (); ++i)
3 {
4 cloud->points[i].x = 1024 * rand () / (RAND_MAX + 1.0f);
5 cloud->points[i].y = 1024 * rand () / (RAND_MAX + 1.0f);
6 cloud->points[i].z = 1024 * rand () / (RAND_MAX + 1.0f);
7 }
2. Conversión de nube de puntos
//创建
pcl::PointCloud<pcl::PointXYZ> cloud;//点云对象
pcl::PointCloud<pcl::PointXYZ>::Ptr cloudPtr
(new pcl::PointCloud<pcl::PointXYZ>);//点云指针对象
//转换
cloud = * cloudPtr;
cloudPtr = cloud.makeShared();