Python reads and saves pcd files

pypcd installation

python2 installation

pip install pypcd

python3 installation

git clone https://github.com/dimatura/pypcd

cd pypcd

git fetch origin pull/9/head:python3

git checkout python3

python3 setup.py install

Reading and saving point cloud 3D data

import numpy as np
from pypcd import pypcd
file_path = "./point_cloud/test.pcd"
##read data
pcd = pypcd.PointCloud.from_path(file_path)
point_cloud = np.zeros((pcd.points, len(pcd.fields)), dtype=np.float32)
for i, field in enumerate(pcd.fields):
    point_cloud[:, i] = np.transpose(pcd.pc_data[field])
##x, y, z, intensity
point_cloud = point_cloud[:, 0:4]
store_path = "./point_cloud/test_save.pcd"
#save as ascii
##生成 pcd 的 head message
meta_data = {
    
    }
meta_data ['version'] = '0.7'
meta_data ['fields'] = ['x', 'y', 'z', 'intensity']
meta_data ['size'] = [4, 4, 4, 4]
meta_data ['type'] = ['F', 'F', 'F', 'F']
meta_data ['count'] = [1, 1, 1, 1]
meta_data ['width'] = 129366
meta_data ['height'] = 1
meta_data ['viewpoint'] = [0, 0, 1, 0, 0, 0]
meta_data ['points'] = 129366
meta_data ['data'] = 'ascii'
pcd_save = pypcd.PointCloud(meta_data, point_cloud)
pcd.save_pcd(store_path , compression='ascii')

Guess you like

Origin blog.csdn.net/weixin_43915090/article/details/131726955