import open3d as o3d
import numpy as np
from pyntcloud import PyntCloud
from pandas import DataFrame
def main():
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# txt格式点云用open3d可视化
txt_path = './airplane_0001.txt'
# 通过numpy读取txt点云
pcd = np.genfromtxt(txt_path, delimiter=",")
# 插入x,y,z坐标
pcd = DataFrame(pcd[:, :3], columns=['x', 'y', 'z'])
# 加载点坐标
point = PyntCloud(pcd)
# 实例化
mesh = point.to_instance("open3d", mesh=True)
# 可视化
o3d.visualization.draw_geometries([mesh])
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# # 快速显示单个点云数据
# pcd = o3d.io.read_point_cloud("xx.ply")
# o3d.visualization.draw_geometries([pcd])
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# # 同时显示多个点云数据
# pcd1 = o3d.io.read_point_cloud("xx1.ply")
# pcd2 = o3d.io.read_point_cloud("xx2.ply")
# o3d.visualization.draw_geometries([pcd1, pcd2])
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# # 读取ply并显示
# pcd = o3d.io.read_point_cloud("xx.ply")
# vis = o3d.visualization.Visualizer()
# vis.create_window()
# # 将点云添加至visualizer
# vis.add_geometry(pcd)
# # 让visualizer渲染点云
# vis.poll_events()
# vis.update_renderer()
# vis.run()
if __name__ == "__main__":
main()
使用open3D可视化各种类型的点云数据
最新推荐文章于 2024-05-19 23:31:32 发布