Creación, acceso y conversión de nubes de puntos PCL.

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();

Supongo que te gusta

Origin blog.csdn.net/weixin_44884561/article/details/129048571
Recomendado
Clasificación