Kinect V2 javascript joints 对象为空

Kinect V2 javascript joints object is empty

本文关键字:对象 joints V2 javascript Kinect      更新时间:2023-09-26

在使用 kinect v2 开发 win 8.1 应用商店应用程序时,我遇到了一些问题,这是我代码的一部分:

mysensor = WindowsPreview.Kinect.KinectSensor.getDefault();                
                mysensor.open();
                console.log(mysensor);
                var isopen_timer = setInterval(function () {
                    if (mysensor.isOpen) {
                        console.log("sensor is opened");
                        myreader = mysensor.bodyFrameSource.openReader();
                        myreader.addEventListener('framearrived', handleFrame);
                        clearInterval(isopen_timer);
                    }
                }, 10);

                //open reader and listen for update

                //called on each frame updated
                function handleFrame(e)
                {
                    var frame = e.frameReference.acquireFrame();            

                    if (frame) {
                        frame.getAndRefreshBodyData(bodies);
                        for (var i=0;i<6;i++) {
                            if (bodies[i].isTracked) {
                                var joints = bodies[i].joints
                                console.log(Object.keys(joints));
                            }
                            else {
                            }
                        }
                        frame.close();
                    }
                }

我的传感器打开,一切正常,我得到了一个跟踪的身体,但是当我尝试访问body.joints对象并尝试列出键时,我得到一个空数组。

任何人都知道可能出了什么问题?

这可能很奇怪,但我想回答我自己的问题,以防万一有人在寻找问题。

lookup方法是关键:

至于现在对Kinect V2 JavaScript API的引用和支持非常薄弱,但是经过一些MS样本的挖掘,这里是答案,在body.joints上使用查找方法来检索联合数据。

lookup方法的工作原理如下body.joints.lookup(joint_index),其中关节计数不能超过 25(最大joint_index从 0 开始为 24),此方法将返回一个带有详细关节数据的对象,如 (x,y,z)。

您可以忽略未跟踪的关节,因为每个关节都具有以下属性:

typetrackingstate

跟踪状态:

推断

关节数据是通过从其他跟踪的关节计算来推断的。由于数据是计算的,因此数据的置信度非常低。(属性值 : 0)

不跟踪"未跟踪联合"数据;没有可用的联合数据。(属性值 : 1)

跟踪的

关节数据被跟踪并可用。由于数据是跟踪的,因此对数据的置信度非常高。(属性值 : 2)

接头类型

请参考此处的表格