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文件