点云数据预处理-binary转ascii格式(open3d处理PCD文件)

点云数据预处理-binary转ascii格式(open3d处理PCD文件)

转化函数代码 :

def binary_to_ascii(pcd_name):
    # 读取binary格式的PCD文件
    pcd = o3d.io.read_point_cloud(pcd_name)

    # 将点云从binary格式转换为ASCII格式
    o3d.io.write_point_cloud(pcd_name.rsplit('.', 1)[0]+"_ascii.pcd", pcd, write_ascii=True)

1.点云数据读取函数

read_point_cloud(filename, format='auto', remove_nan_points=False, 
remove_infinite_points=False, print_progress=False)

参数列表:
filename(str):需打开的点云文件路径。

format(str,可选,默认为’auto’) :要读取的文件的格式。默认为auto,函数会根据后缀自动识别文件类型,若指定文件格式,则函数会直接尝试已设定类型读取。

remove_nan_points(bool,可选,默认值=False):是否删除点云数据中包含NAN的点数据(无效的点数据)。true表示删除,false为不删除,默认值可查看库函数定义。

remove_infinite_points(bool,可选,默认值为False):是否删除点云数据中包含无穷的点。true表示删除,false为不删除,默认值可查看库函数定义。

print_progress(bool,可选,default=False):如果设置为true,控制台中会显示一个进度条。

2.点云数据保存函数

write_point_cloud(filename, pointcloud, format='auto', write_ascii=False,
 compressed=False, print_progress=False)

参数列表:
filename:点云文件保存路径。

pointcloud :要写入的点云对象。

format(str,可选,默认为’auto’):输入文件的格式。如果未指定或设置为“auto”,则根据文件扩展名推断格式。

write_ascii(bool,可选,默认值=False):设置为“True”以ascii格式输出,否则将使用二进制格式。

compressed(bool,可选,default=False):设置为“True”以压缩格式写入。

print_progress(bool,可选,默认值=False):如果设置为true,进度条将显示在控制台

3.保存文件名

pcd_name.rsplit('.', 1)[0]+"_ascii.pcd"

将原有文件路径的通过rsplit(‘.’, 1)分割.一次将文件后缀去除后添加_ascii.pcd形成新的文件名,若想保存到其余文件可以修改路径。

4.通过配置write_ascii可以同样可以相似的ascii转binary格式如一下函数代码

def ascii_to_binary(pcd_name):
    # 读取ascii格式的PCD文件
    pcd = o3d.io.read_point_cloud(pcd_name)
    # 将点云从ascii格式转换为binary格式
    o3d.io.write_point_cloud(pcd_name.rsplit('.', 1)[0]+"_binary.pcd", pcd, write_ascii=False)
  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值