Point Cloud Library (PCL) for Python - pclpy 指南 (2) - 读取及可视化

6 篇文章 0 订阅
6 篇文章 0 订阅

Point Cloud Library (PCL) for Python - pclpy 指南 (1) - 安装步骤

  1. 导入库
     
    from pclpy import pcl
    import numpy as np
    
    导入pclpy库中的pcl模块,用于处理点云数据。numpy库用于处理数值数据。

 

  1. 读取点云
     
    cloud = pcl.PointCloud.PointXYZRGB()
    pcl.io.loadPCDFile('F:\\bunny.pcd', cloud)
    
    • cloud = pcl.PointCloud.PointXYZRGB():创建一个存储点云数据的对象,类型为PointXYZRGB,即包含颜色信息的点云。
    • pcl.io.loadPCDFile('F:\\bunny.pcd', cloud):从指定路径加载PCD文件,并将数据存储到cloud对象中。

 

  1. 打印点云信息
     
    print('读取点云的点数为:', cloud.size())
    print('点云坐标为:', np.asarray(cloud.xyz))
    
    • cloud.size():获取点云中的点数。
    • np.asarray(cloud.xyz):将点云坐标转换为numpy数组,并打印出来。

 

  1. 可视化点云
     
    viewer = pcl.visualization.PCLVisualizer("3D Viewer")
    viewer.setBackgroundColor(0, 0, 0)
    rgb = pcl.visualization.PointCloudColorHandlerRGBField.PointXYZRGB(cloud)
    viewer.addPointCloud(cloud, rgb)
    
    • viewer = pcl.visualization.PCLVisualizer("3D Viewer"):创建一个可视化对象,窗口名为"3D Viewer"。
    • viewer.setBackgroundColor(0, 0, 0):设置窗口背景颜色为黑色。
    • rgb = pcl.visualization.PointCloudColorHandlerRGBField.PointXYZRGB(cloud):获取点云的颜色信息。
    • viewer.addPointCloud(cloud, rgb):将点云和颜色信息添加到可视化对象中。

 

  1. 添加坐标系和初始化相机参数
     
    viewer.addCoordinateSystem(1.0)
    viewer.initCameraParameters()
    
    • viewer.addCoordinateSystem(1.0):在可视化窗口中添加一个坐标系,便于观察点云的方向和位置。
    • viewer.initCameraParameters():初始化相机参数,使得初始视角更合理。

 

  1. 循环展示
     
    while not viewer.wasStopped():
        viewer.spinOnce(10)
    
    • while not viewer.wasStopped():循环检查窗口是否被关闭。
    • viewer.spinOnce(10):更新可视化窗口,参数10表示每次循环的时间间隔(毫秒)。

 

  1. 完整代码
     
    from pclpy import pcl
    import numpy as np
    
    def main():
        cloud = pcl.PointCloud.PointXYZRGB()
        pcl.io.loadPCDFile('F:\\bunny.pcd', cloud)
        
        print('Number of points in the point cloud:', cloud.size())
        print('Point cloud coordinates:', np.asarray(cloud.xyz))
    
        viewer = pcl.visualization.PCLVisualizer("3D Viewer")
        viewer.setBackgroundColor(0, 0, 0)
        rgb = pcl.visualization.PointCloudColorHandlerRGBField.PointXYZRGB(cloud)
        viewer.addPointCloud(cloud, rgb)
    
        while not viewer.wasStopped():
            viewer.spinOnce(10)
    
    if __name__ == '__main__':
        main()
    

 

  1. 效果显示
     
    在这里插入图片描述
     

  2. PCD文件

    下载文件

 
Point Cloud Library (PCL) for Python - pclpy 指南 (3) - SLAM 姿态数据格式 TUM 介绍

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eric Woo X

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值