赞
踩
最近,在使用open3d的库时,主要对点云进行了下采样,以及中心化和归一化的处理操作,可视化的结果并没有问题,但是用notepad++在查看数据结果的时候,却发现出现了乱码的情况。
这是处理的代码:
- import open3d as o3d
-
- # 读取PLY文件
- pcd = o3d.io.read_point_cloud("filename.ply")
-
- # 下采样
- pcd = pcd.random_down_sample(0.1) # 采样1/10的点
-
- # 计算点云质心
- center = pcd.get_center()
- pcd.translate(-center)
-
- # 计算点云的尺度,然后将其缩放为单位球
- scale = 1.0 / max(pcd.get_max_bound() - pcd.get_min_bound())
- pcd.scale(scale, center=(0, 0, 0))
-
- # 保存下采样后的PLY文件
- o3d.io.write_point_cloud("filename.ply", pcd, write_ascii=True)
出现乱码的情况需要在保存点云时加上 write_ascii=False,它默认是false,使用的是二进制形式,而不是ascii。
这是write_point_cloud函数的声明: write_ascii (bool, optional, default=False): Set to ``True`` to output in ascii format, otherwise binary format will be used.
下采样到2048个点标准化处理后的可视化结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。