#转换kitti数据集的bin2pcd,点类型为pointxyzi
import os
import numpy as np
import pcl
# 设置输入和输出文件夹路径
input_folder = os.path.dirname(os.path.abspath(__file__))
output_folder = os.path.dirname(os.path.abspath(__file__))
print(input_folder)
# 遍历输入文件夹中的所有.bin文件
for filename in os.listdir(input_folder):
if filename.endswith('.bin'):
# 读取二进制文件
filepath = os.path.join(input_folder, filename)
points = np.fromfile(filepath, dtype=np.float32).reshape(-1, 4)
# 转换为pcl点云对象
print(points[:,[3]],points[:,[3]]*255)
points[:,[3]] = np.array(points[:,[3]]*255,dtype='uint8')#强度从浮点转为uint8
cloud = pcl.PointCloud_PointXYZI()
cloud.from_array(points)
# 保存为.pcd文件
output_filename = os.path.splitext(filename)[0] + '.pcd'
output_filepath = os.path.join(output_folder, output_filename)
pcl.save(cloud, output_filepath)
Kitti数据集bin转pcd的python代码
于 2023-04-14 11:09:38 首次发布