在第二种情况下,cv::approxPolyDP
(link)可以近似一组2d点,形成具有多边形曲线的轮廓,即一组线。在线发现的示例如下图所示,其中左侧的轮廓近似为右侧的多边形曲线。这对某些情况非常有用,例如:计算较少噪声的轮廓法线。
我在3d案例中寻找类似的东西。更确切地说,version 4.7的CGAL带有一个新组件,用于计算3d网格的mean curvature skeleton。骨架输出具有无序系列的3d骨架点(以及相应的骨架边缘)的形式。马网的一个例子来自他们的网站:
我希望这个骨架近似有一个铰接骨架,即直线三维线段(不是像here或here这样的无限线)的整体,看起来更像是以下示例:
拟合形状基元,例如对于网格或点云的圆柱(例如PCL或CGAL中的方法)不是一个选择,因为它对数据施加了先验。
指向该方向的指针可能很有用,尤其是在有现成工具的情况下。已经存在不同的工作解决方案,但是上述方式可以更优雅,如在2d情况中那样。
答案 0 :(得分:0)
Pinocchio就是一个非常相似的例子: http://www.mit.edu/~ibaran/autorig/index.html
在网站上有一篇论文解释了算法;粗略地说,它首先使用球体填充模型,并计算通用人体骨骼的最佳修改版本,使得蒙皮权重均匀分布。 然而为任何通用模型执行此操作会更加困难 - 您还必须计算最佳骨骼数量。