【发布时间】:2014-04-02 05:36:24
【问题描述】:
我正在使用 Kinect 创建一个应用程序,我想一次只跟踪一个人,现在如果有人进入 Kinect 范围内,Kinect 就会开始检测另一个人。我编写了以下代码,它可以检测到任何进入 Kinect 范围的人。请告诉我如何将其限制为一次仅检测 1 个人。
/*------------------------------------------
* SKELETON JOINTS
--------------------------------------------
*/
Skeleton[] _skeletons = new Skeleton[0];
using (SkeletonFrame usingSkeletonFrame = e.OpenSkeletonFrame())
{
if (usingSkeletonFrame != null)
{
_skeletons = new Skeleton[usingSkeletonFrame.SkeletonArrayLength];
usingSkeletonFrame.CopySkeletonDataTo(_skeletons);
}
}
if(_skeletons.Length >0)
// if (_skeletons.Length == SkeletonTrackingState.Tracked)
{
isSkeleton = true;
foreach (Skeleton skl in _skeletons)
{
if (skl.TrackingState == SkeletonTrackingState.Tracked)
{
// string str = "";
Joint shoulderCenter = skl.Joints[JointType.ShoulderCenter];
Joint rightShoulder = skl.Joints[JointType.ShoulderRight];
leftShoulder = skl.Joints[JointType.ShoulderLeft];
Joint Head = skl.Joints[JointType.Head];
【问题讨论】:
-
你看过 Skeleton 类的TrackingId 属性了吗?
-
我想你得到了答案here
标签: c# visual-studio-2010 visual-studio kinect kinect-sdk