如何从点云或三维物体分析/计算人体各部位的周长?

2024-10-03 23:26:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用win10、python和c。我想用点云或像.stl.obj.ply这样的3d扫描来计算人体各部分(腹部、肱二头肌等)的周长。现在我可以用kinect v2获得人体的点云。我有点云的人体,扫描三维人体在.stl.obj.ply格式。你知道吗

我需要一些关于它的想法和信息。我不知道如何分析我拥有的东西,如何计算我想要的东西。你知道吗

在这里,我找到了一个例子,我正在尝试做什么,但它不需要像那样完美稳定,它的学校作业。也许你能给我一些关于如何实现我的目标的想法。谢谢你的帮助。你知道吗

https://www.youtube.com/watch?time_continue=48&v=jOvaZGloNRo

我用kinect v2获取三维扫描对象,并使用PCL将其转换为点云。你知道吗


Tags: 信息obj格式人体学校例子v2ply
1条回答
网友
1楼 · 发布于 2024-10-03 23:26:26

我不知道如何将PCL与Python或C结合使用。一般来说,您将看到以下步骤:

  1. 将点过滤到感兴趣的区域
  2. 分割形状
  3. 提取参数

如果您只对Python感兴趣,那么OpenCV可能是最好的选择。您还可以开发C++中的核心逻辑,并将其封装为Python或C.*。C++也有一些不错的UI库(Qt,nanogui),请参阅以下详细内容,以达到PCL

的目的

过滤

^{}^{}可用于此。它将导致类似的结果,如图所示,假设帧已被正确选择。否则,点云可以很容易地transformed

分割形状

假设您想要一个平均周长,您可能需要试验圆形2D、圆形3D和圆柱体模型。有关用法和API的更多详细信息,请参见here。选择的方法可以是简单的SAC(样本一致性),如RANSAC(随机SAC)或高级方法,如LMEDS(最小平方中值)或MLESAC(最大似然估计SAC)

提取参数

所有模型都有一个半径场,可用于使用标准公式(2*pi*r)求圆周

免责声明:请注意形状是圆形,而不是椭圆形,圆柱体是直角圆柱体。因此,如果被测物体(手臂或二头肌)不是圆形的,那么在极端情况下,计算值可能不接近地面真实值

相关问题 更多 >