Open3d读写pcd点云文件

1 Open3d 安装

        Open3d是由Intel发布的一个开源库,支持快速开发和处理3D数据。Open3D在c++和Python中公开了一组精心选择的数据结构和算法。后端是高度优化的,并且是为并行化而设置的。

      Open3d直接使用pip安装即可。解决下载慢的问题,请切换下载源。设置方式请参考:python pip_Coding的叶子的博客-CSDN博客

pip install open3d

        pcd点云格式介绍请参考:点云格式介绍(一)_Coding的叶子的博客-CSDN博客

        对于pcd点云文件pcd格式点云样例文件-深度学习文档类资源-CSDN下载,Open3d读取到的点云通常存储到PointCloud类中,如下图所示。下图中points存储了全部的点云坐标,可以用numpy.array转换成矩阵形式。

2 numpy转PointCloud

        对于点云矩阵,通常要转换为PointCloud格式才能被Open3d处理,包括存储和点云处理等。

import open3d as o3d

pcd = o3d.geometry.PointCloud()

pcd.points = o3d.utility.Vector3dVector(points_array)

3 读pcd点云文件

        Open3d读取pcd格式点云文件的函数为o3d.io.read_point_cloud,读取的点云存储为上图所示的PointCloud类。

import open3d as o3d

import numpy as np

pcd = o3d.io.read_point_cloud(path)

points = np.array(pcd.points) #转为矩阵

4 写pcd点云文件

        保存点云文件的函数为o3d.io.write_point_cloud。

o3d.io.write_point_cloud(path, pcd)

        注意事项:这样保存的文件可以被open3d直接读取,但是用其他方式读取时可能会出现如下所示的编码错误,因此最好指定保存的编码方式。

o3d.io.write_point_cloud(path, pcd , write_ascii=True)

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xdd in position 173: invalid continuation byte。

python三维点云研究计划_Coding的叶子的博客-CSDN博客_python 三维点云将按照以下目录持续进行更新……点云格式介绍、点云可视化、点云投影、生成鸟瞰图、生成前视图、点云配准、点云分割、三维目标检测、点云重建、深度学习点云算法……https://blog.csdn.net/suiyingy/article/details/124017716点云格式介绍(一)_Coding的叶子的博客-CSDN博客常见点云存储方式有pcd、ply、txt、bin文件。本节主要介绍pcd点云格式。https://blog.csdn.net/suiyingy/article/details/124170147更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。

猜你喜欢

转载自blog.csdn.net/suiyingy/article/details/124296124