.CSV转.PCD、.PCD转.PLY、.PCD转.XYZ
import warnings
import open3d as o3d
import numpy as np
import pandas as pd
import pyntcloud
path = '你的点云文件.csv'
# CSV转PCD
def read_point(file_path):
pointcloud_data = np.asarray(pd.read_csv(file_path))
return pointcloud_data
csv_data = read_point(path)
# csv文件的数据被存入数组中
# 提取点云坐标,所有行,第二列到第三列(根据自己的点云文件存储的信息决定读取哪几列)
points = csv_data[:, 1:4]
# 创建Open3D的PointCloud对象
pcd = o3d.geometry.PointCloud()
# 设置点云的坐标
pcd.points = o3d.utility.Vector3dVector(points)
# 变量pcd这时候已经是一个pcd文件了
# 保存为PCD文件
o3d.io.write_point_cloud('21.pcd', pcd)
warnings.filterwarnings("ignore")
path = '21.pcd'
# 读取PCD文件
cloud = pyntcloud.PyntCloud.from_file(path)
# pcd转ply
# 保存为PLY文件
cloud.to_file('21.ply', also_save=["mesh"])
# pcd转xyz
# 保存为XYZ文件
cloud.points.to_csv('output.xyz')