如何检查点云/ 3d对象上的某些坐标?

时间:2019-07-10 13:13:13

标签: python c++ image-processing 3d point-cloud-library

我有一个人体点云并对其进行3d扫描。我有一些骨骼关节坐标,但是我想检查坐标是否适合身体/点云。

我曾尝试使用python open3d和穿山甲c ++来做到这一点,但我不知道该怎么做。

我有一个点的X,Y,Z坐标,我想查看它在点云中的位置。为了解释我的问题,我有一个使用油漆完成的示例图像。

perfect art

我需要有关如何使用它的建议。

1 个答案:

答案 0 :(得分:1)

这取决于您是目视检查还是自动检查。

使用Open3D进行视觉检查非常容易(至少,安装比PCL-Python容易得多)

首先,您需要安装open3d软件包。然后通过以下方式读取点云:

import open3d as o3d
pcd = o3d.io.read_point_cloud(file_path)

然后在o3d中生成两个红点云:#我认为您的x(3,1)表示x代表两个点

import numpy as np

pcd_red = o3d.geometry.PointCloud()

xyz = np.asarray([[3, 2, 8],
                  [1, 8, 3]])

pcd_red.points = o3d.utility.Vector3dVector(xyz)

# paint them to red
pcd_red.paint_uniform_color([1, 0, 0])

最后显示:

o3d.visualization.draw_geometries([pcd, pcd_red])