1.搭建pclpy环境
问题:需要处理pcd文件,于是开始摸索搭建环境,有python-pcl,但是安装过程频频出现问题,于是转向pclpy。
参考链接:GitHub - davidcaron/pclpy: Python bindings for the Point Cloud Library (PCL)
1.1使用conda创建python3.7版本的环境(注意python版本,windows是限制在3.6与3.7)
conda create --name py37 python=3.7
1.2安装pclpy
conda install -c conda-forge -c davidcaron pclpy
两行命令搞定pclpy环境搭建
2.使用pandaset数据
2.1下载pandaset数据集,根据链接指示下载文件即可
pandaset数据集下载地址:Accelerate the Development of AI Applications | Scale AI
2.2安装pandaset工具包
pandaset工具包代码地址:GitHub - scaleapi/pandaset-devkit
地址里有具体的执行步骤,git clone需要权限,可以直接下载代码包,本地解压。
3.将pandaset中的pkl转换为pcd
from pandaset import DataSet
from pclpy import pcl
# 读取pandaset数据集
dataset = DataSet('./panda_data')
# 选择001号数据集
seq001 = dataset['001']
# 加载数据,不然seq001里面没值
seq001.load_lidar()
# 选择第一个lidar数据为例
pc0 = seq001.lidar[0]
# 查看数据类型,结果为<class 'pandas.core.frame.DataFrame'>
print(type(pc0))
# 转换为pcl指定格式XYZI的点云数据
cloud = pcl.PointCloud.PointXYZI.from_array(pc0)
# 将点云数据写入pcd文件
pcl.io.savePCDFileASCII('./panda_data/001/point_cloud/00.pcd', cloud)