1. Création et accès au nuage de points
1. Méthode d'affectation de vecteurs
Repoussez les données de point dans le modèle de type 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);
Accès : membres PointXYZ : float x, y, z ; représente les informations xyz3D, la valeur de coordonnée du point X est accessible via points[i].data[0] ou points[i].x.
2. Modèle de type de pointeur
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. Conversion de nuages de points
//创建
pcl::PointCloud<pcl::PointXYZ> cloud;//点云对象
pcl::PointCloud<pcl::PointXYZ>::Ptr cloudPtr
(new pcl::PointCloud<pcl::PointXYZ>);//点云指针对象
//转换
cloud = * cloudPtr;
cloudPtr = cloud.makeShared();