Kinect Skeletal Tracking Not Working

此生再无相见时 提交于 2019-12-11 11:04:40

问题


So currently I have a bool PersonDetected which is always set to false UNLESS a Skeleton is detected. But currently when a SkeletonTrackingState is marked as Tracked, but PersonDetected is still set to false. Thanks in advance

My Code

Skeleton skeletons = new Skeleton();

            if ((skeletons.TrackingState == SkeletonTrackingState.Tracked ||
                skeletons.TrackingState == SkeletonTrackingState.PositionOnly) &
                skeletons.TrackingState != SkeletonTrackingState.NotTracked)
                {
                    PersonDetected = true;
                }

回答1:


I discovered the reason that it wasn't registering was because skeletons was just a variable, not a Skeleton being tracked, so I added the following code to make sure that it worked:

Skeleton skeletons = new Skeleton();

            skeletons = (from s in allSkeletons
                         where s.TrackingState == SkeletonTrackingState.Tracked ||
                         s.TrackingState == SkeletonTrackingState.PositionOnly
                         select s).FirstOrDefault();

            if (skeletons == null)
            {
                return;
            }

            if ((skeletons.TrackingState == SkeletonTrackingState.Tracked ||
                skeletons.TrackingState == SkeletonTrackingState.PositionOnly))
            {
                PersonDetected = true;
            }



回答2:


Debug "diff". I'll bet it`s higher than 9

After that debug parts where you're incrementing diff.



来源:https://stackoverflow.com/questions/10451456/kinect-skeletal-tracking-not-working

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!