実現したいこと
点群を表示させるときに任意の点群のみに色を変更させて表示させたい
例えばある点において任意の距離以下にある点群のみ,色を青にして,他の点群の色を赤にすることでわかりやすく表示したい.
前提
open3d: version 0.16.0
発生している問題
pcd.color
を定義しても色を調整できない
該当のソースコード
python
1import open3d as o3d 2import numpy as np 3 4# 点群の作成 5pcd = o3d.geometry.PointCloud() 6x = np.arange(0, 49) 7y = np.arange(0, 49) 8z = np.arange(0, 49) 9xx, yy, zz = np.meshgrid(x, y, z, indexing='xy') 10result = np.vstack((xx.flatten(), yy.flatten(), zz.flatten())).T 11pcd.points = o3d.utility.Vector3dVector(result) 12 13#一色のみにする 14colors = [] 15for _ in range(50): 16 colors.append([100, 100, 100]) 17 18# 色情報を含んだPointColorクラスを作成 19point_colors = o3d.utility.Vector3dVector(colors) 20 21# 点群に色情報をセット 22pcd.colors = point_colors 23 24# 可視化 25o3d.visualization.draw_geometries([pcd])
結果
試したこと
colors
の値を点ごとに変化させてみた
python
1 line = np.linspace(0, 50, 51, dtype=np.float64) 2 colors = [] 3 for x in line: 4 for y in line: 5 for z in line: 6 colors.append([z/10, y/10, z/10])
colors.append([z/10, y/10, z/10])
の部分を10→50にしても結果は変わらなかった.
colorを調整することができない.
あなたの回答
tips
プレビュー