【发布时间】:2014-10-27 00:24:17
【问题描述】:
我正在使用来自 kinect 的 rgb 数据跟踪一个球。在此之后,我查找相应的深度数据。这两项工作都非常出色。现在我想要实际的 x,y,z 世界坐标(即骨架空间)而不是 x_screen、y_screen 和深度值。不幸的是,kinect sdk (http://msdn.microsoft.com/en-us/library/hh973078.aspx) 给出的方法对我没有帮助。基本上我需要一个函数“NuiImageGetSkeletonCoordinatesFromColorPixel”,但我不存在。所有的功能基本上都是反方向的
我知道这可能可以通过 openNI 完成,但由于其他原因我不能使用它。
是否有一个功能可以为我执行此操作,还是我必须自己进行转换?如果我必须自己做,我该怎么做?我画了一个小图http://i.imgur.com/ROBJW8Q.png - 你觉得这样行吗?
【问题讨论】:
-
为什么
NuiTransformDepthImageToSkeleton不适合你? -
我使用颜色进行跟踪。所以我在“rgb 空间”中有 x,y。然后,我使用另一个 sdk 函数:NuiImageGetColorPixelCoordinatesFromDepthPixelAtResolution 将我的深度数据转换为 rgb 空间,以查找相应的深度值。不幸的是,这个函数没有逆函数,所以我没有办法回到深度空间。但是对于 NuiTransformDepthImageToSkeleton 我需要深度空间中的 x,y :(Edit: 或者这实际上只是我的一个误解?当他们在文档中说“深度像素的 x 坐标”时,他们实际上是指x,y 在 RGB 空间中?
-
对不起,我误会了...我会看到 this question,因为它听起来完全符合您的要求
标签: c++ opencv geometry kinect