我正在尝试使用Kinect,它有一个深度感应摄像头,但我没有看到测量宽度/高度/长度的指导。
是否需要计算物体远离相机(深度传感器)的距离以及该范围内Kinect的视野,然后计算出物体占据多少像素?
我希望能够使用点云进行网格划分或者某些事情,我很难找到从哪里开始以及如何为对象获得适当的宽度/高度测量值。
答案 0 :(得分:7)
这是一项相当复杂的任务,无法通过Stackoverflow上的几个段落来回答。原因是它有很多基于其他知识的知识。我首先要阅读Linear Algebra,例如使用优秀的Rorres, et al。
从点云创建网格是一项复杂的任务,目前没有使用的事实算法。最流行的方法似乎是首先创建一个离散的Truncated Signed Distance Function (TSDF),然后使用例如Marching Cubes获取网格。另一种算法是Delaunay triangulation。
s-hull项目还提供了一个c#实现。
答案 1 :(得分:2)
在Jarrett Webb使用Microsoft Kinect SDK开始使用Kinect编程的书中,James Ashley 你在第3章中有一个如何计算宽度,高度和距离的样本:
该代码可在apress.com下载
答案 2 :(得分:0)
我知道这是在前一段时间被问到的,但是对于它的价值,有一篇关于channel9.msdn的文章,其中显示了一种计算用户身高的简单方法。我想你可以使用HipLeft
,HipCenter
和HipRight
的类似技术来估算宽度。
如果您按照链接中的project information URL进行操作,则会提供更详细的信息。