Point Cloud Library (PCL) for Python - pclpy 安装指南 (1)
-
导入库
from pclpy import pcl import numpy as np
导入
pclpy
库中的pcl
模块,用于处理点云数据。numpy
库用于处理数值数据。 -
读取点云
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
对象中。
-
打印点云信息
print('读取点云的点数为:', cloud.size()) print('点云坐标为:', np.asarray(cloud.xyz))
cloud.size()
:获取点云中的点数。np.asarray(cloud.xyz)
:将点云坐标转换为numpy
数组,并打印出来。
-
可视化点云
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)
:将点云和颜色信息添加到可视化对象中。
-
添加坐标系和初始化相机参数
viewer.addCoordinateSystem(1.0) viewer.initCameraParameters()
viewer.addCoordinateSystem(1.0)
:在可视化窗口中添加一个坐标系,便于观察点云的方向和位置。viewer.initCameraParameters()
:初始化相机参数,使得初始视角更合理。
-
循环展示
while not viewer.wasStopped():viewer.spinOnce(10)
while not viewer.wasStopped()
:循环检查窗口是否被关闭。viewer.spinOnce(10)
:更新可视化窗口,参数10
表示每次循环的时间间隔(毫秒)。
-
完整代码
from pclpy import pcl import numpy as npdef 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()
-
PCD文件
下载PCD文件