点云处理开发测试题目 实现2

        计算出纸箱上的四个圆的圆心坐标和半径,对圆心坐标进行排序,沿着X+方向排序并把排序后的圆心坐标保存到本地。

// 此函数用于估计点云的边界,并将边界点保存到文件中
void BoundaryEstimation(pcl::PointCloud::Ptr cloud)
{
    // 移除输入点云中的NaN值(非法点)
    std::vector indices;
    pcl::removeNaNFromPointCloud(*cloud, *cloud, indices);

    // 估计点云的表面法线
    pcl::PointCloud::Ptr normals (new pcl::PointCloud);
    pcl::search::KdTree::Ptr tree (new pcl::search::KdTree);
    pcl::NormalEstimation ne;
    ne.setInputCloud(cloud);
    ne.setSearchMethod(tree);
    ne.setKSearch(50); // 设置K最近邻搜索的数量
    ne.compute(*normals);

    // 计算点云的边界
    pcl::PointCloud::Ptr boundaries (new pcl::PointCloud);
    pcl::BoundaryEstimation est;
    est.setInputCloud(cloud);
    e

你可能感兴趣的:(点云PCL,pcl,点云处理)