※当サイトはPRを含みます

【Python】NumpyとOpen3Dの相互変換

Numpy から open3d.PointCloudへ

import open3d as o3d
import numpy as np

# numpyで点群データを作成
data = np.array([[0,0,0],[1,1,1],[2,2,2]])

# numpy をOpen3d に変換
pcd = o3d.geometry.PointCloud() 
pcd.points = o3d.utility.Vector3dVector(data)

#Open3d で可視化
o3d.visualization.draw_geometries([pcd])

open3d.PointCloudからNumpy へ

import open3d as o3d
import numpy as np

# Open3dのplyファイルを読み込む
pcd_load = o3d.io.read_point_cloud("../../test_data.ply") 

# 点群データのpcd_load.pointsをNumpyへ変換
xyz_load = np.asarray(pcd_load.points)

おすすめ参考書