pcl::PointCloud和pcl::PontCloud::Ptr之間的關係和轉換方式

知識海洋裡的鹹魚發表於2020-11-26

關係

pcl::PointCloud::Ptr是pcl::PointCloud的指標型別

轉換方式

pcl::PointCloud轉換成pcl::PointCloud::Ptr

pcl::PointCloud<pcl:PointXYZ>::Ptr cloud_ptr(new pcl::PointCloud<pcl::PointXYZ>);
pcl::PointCloud<pcl::PointXYZ> cloud;
cloud_ptr=cloud.makeShared();

pcl::PointCloud::Ptr轉換成pcl::PointCloud

pcl::PointCloud<pcl::PointXYZ> cloud;
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_ptr(new pcl::PointCloud<pcl::PointXYZ>);
cloud=*cloud_ptr;

不想定義新的型別那麼可以採用以下的方式轉換:

pcl::PointCloud<pcl::PointXYZ> cloud;
pcl::octree::OctreePointCloudSearch<pcl::PointXYZ> octree(resolution);  
octree.setInputCloud(cloudA.makeShared());
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_ptr(new pcl::PointCloud<pcl::PointXYZ>);
pcl::octree::OctreePointCloudSearch<pcl::PointXYZ> octree(resolution); 
octree.setInputCloud(cloud_ptr);

相關文章