优草派  >   Python

如何用Numpy读取和保存点云数据?Python如何用Numpy读取和保存点云数据?

翟嘉慧            来源:优草派

之前学过有关numpy库的内容,在numpy中提供了一个功能非常强大的函数loadtxt可以非常简单地实现将点云数据进行读取和保存,这篇文章主要介绍了如何用Numpy读取和保存点云数据?Python如何用Numpy读取和保存点云数据?文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

如何用Numpy读取和保存点云数据?Python如何用Numpy读取和保存点云数据?

一、点云数据概念

点云数据就是使用的一个三维坐标系表示的数据集,通过向量的方式来进行展示。表示坐标的方式和数学中的表示方法没有区别,同样可以使用向量x\y\z。来看一个简单的代码:

import open3d as o3d
import numpy as np 
def main():
    points_data = np.loadtxt("hh1.txt", delimiter=",", dtype=np.float32)
    pcd = o3d.geometry.PointCloud()
    pcd.points = o3d.utility.Vector3dVector(points_data[:, :3])
    o3d.visualization.draw_geometries([pcd])
if __name__ == '__main__':
    main()

在代码中,主要的功能就是使用loadtxt这个方法来将一个txt文件中的点云数据进行读取操作,最后可以借助一个open3的接口来对数据进行展示。

二、loadtxt方法

上面的例子中,我们使用了这个方法来进行数据的读取操作,下面简单的介绍一下这个方法的使用,我们在对txt文件进行分割是时候,采用的是逗号分割的方式,在使用这个方法对文件进行操作的时候,不仅要指定文件的路径,还有设置分割方式,它有默认的数据类型为float64,如果使用的数据是其他的数据类型,我们还需要对dtype进行设置。举个例子:

S = np.loadtxt("hh.txt", delimiter=",") #没有指定数据类型
print('形状: ', S.shape)
print('数据类型: ', S.dtype)

运行结果:

形状:  (10000, 6)
数据类型:  float64

到此这篇关于如何用Numpy读取和保存点云数据?Python如何用Numpy读取和保存点云数据?的文章就介绍到这了,更多相关Numpy读取和保存点云数据内容可以继续浏览下面的相关文章。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。