1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 关于asc txt格式到pcd ply格式数据转换

关于asc txt格式到pcd ply格式数据转换

时间:2021-10-15 02:57:00

相关推荐

关于asc txt格式到pcd ply格式数据转换

1 asc数据说明

许多点云数据是asc或txt数据格式,asc(ascii)即文本文件,数据已可视化的文本存储。在点云数据处理时,常面临数据格式转换问题,比如说需要转换成pcd或ply数据格式。

2 pcd、ply数据说明

2.1 pcd数据

pcd是点云数据(一个三维坐标系中的一组向量的集合)的一种格式,例如下图数据模式:数据前几行分别为:VERSION 0.7、FIELDS x y z、SIZE 4 4 4、TYPE F F F、COUNT 1 1 1、WIDTH 512、HEIGHT 1、VIEWPOINT 0 0 0 1 0 0 0、POINTS 512、DATA ascii。pcd前十行数据分别表示:pcd文件版本、指定点x y z信息、每个数据占用的内存、每个数据的数据类型、每个维度的元素数量、数据点的宽度、数据点的高度、采集数据时的视点、点云总数量、点云数据存储的类型。

2.2 ply数据

ply文件格式是Stanford大学开发的一套三维mesh模型数据格式。ply文件结构:文件头加上元素数据列表。头文件主要描述文件类型、格式与版本、元素类型、元素属性等信息。数据格式样例如下图。

3 数据格式转换

数据转换思路:读取txt和asc数据文件,运用open3d库o3d.io.write_point_cloud()函数实现数据转化和数据存储。(txt数据和asc数据文件读取方式相同)

import numpy as npimport open3d as o3d## 数据读取np.set_printoptions(suppress=True) # 取消默认的科学计数法Data1 = np.loadtxt('xxxxx.txt',dtype=np.float,skiprows=1,delimiter=' ',usecols=(0,1,2),unpack=False)## open3d数据转换 pcd = o3d.geometry.PointCloud()pcd.points = o3d.utility.Vector3dVector(Data1)# print(np.asarray(pcd.points))o3d.visualization.draw_geometries([pcd])## 保存成ply数据格式o3d.io.write_point_cloud('xxx.ply',pcd,write_ascii=True) # ascii编码o3d.io.write_point_cloud('xxx.ply',pcd,write_ascii=False) # 非ascii编码## 保存成pcd数据化格式o3d.io.write_point_cloud('xxx.pcd',pcd,write_ascii=True) # ascii编码o3d.io.write_point_cloud('xxx.pcd',pcd,write_ascii=True) # 非ascii编码

参考链接:(60条消息) 点云数据pcd文件简介_悟影生的博客-CSDN博客_pcd文件

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。