点云处理基础操作
程序员文章站
2022-06-02 21:43:16
...
- 定义一个新的点云
*cloud是已知的点云
*newcloud是新点云
pcl::PointCloud<pcl::PointXYZRGB>::Ptr newcloud(new pcl::PointCloud<pcl::PointXYZRGB>); // 创建点云(指针)
newcloud->height = cloud->height;//或者直接这个newcloud->height = 1;一般好像点云这个都是1
newcloud->width = cloud->width;//*cloud是已知的点云
newcloud->is_dense = false;
也可以直接复制点云
pcl::PointCloud<pcl::PointXYZRGB>::Ptr newcloud(new pcl::PointCloud<pcl::PointXYZRGB>); // 创建点云(指针)
pcl::copyPointCloud(*cloud, *newcloud);//把cloud复制给newcloud(然后就可以直接用newcloud了,里面就有相应点的坐标了,相当于把指针赋值了吧)
//一顿操作之后newcloud里面一些点被修改,需要保存起来,如下:
newcloud->height = 1;
newcloud->width = newcloud->points.size();
newcloud->is_dense = false;
- 去除NAN点
//去除NAN点
std::vector<int> mapping;
pcl::removeNaNFromPointCloud(*pcloud, *pcloud, mapping);
std::cout << "原始点云去除NaN点后数量: " << pcloud->points.size() << std::endl;
上一篇: java ssm框架学习——SpringMVC--1
下一篇: 点云处理库pyntcloud