pcl之从txt中读取点云

#include<fstream>
#include <pcl/visualization/pcl_visualizer.h>

//-------------------------------从txt文件中读取三维坐标-------------------------------------
void readPointCloudFromTxt(const std::string& file_path, pcl::PointCloud<pcl::PointXYZ>& cloud)
{
    cloud.clear();
    std::fstream file(file_path.c_str());
    pcl::PointXYZ point;
    while (!file.eof()) {
        file >> point.x >> point.y >> point.z;
        cloud.push_back(point);
    }
    file.close();
}


//----------------------------------------可视化---------------------------------------------
void visualization(pcl::PointCloud<pcl::PointXYZ> cloud)
{
    boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("viewer"));
    // 添加需要显示的点云数据
    pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> single_color(cloud.makeShared(), 255, 0, 0);
    viewer->addPointCloud<pcl::PointXYZ>(cloud.makeShared(), single_color, "example");
    viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, "example");

    while (!viewer->wasStopped()) {
        viewer->spinOnce(100);
    }
}

int main(int argc, char** argv) {
    // -------------------从txt中读取点云----------------------
    pcl::PointCloud<pcl::PointXYZ> cloud;
    readPointCloudFromTxt("/home/rvbust/Documents/data.txt", cloud);
    // -----------------可视化点云---------------------
    visualization(cloud);

    return 0;
}

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值