Exemplo n.º 1
0
        /*显示当前帧手势*/
        private void DisplayGesture(HandData handAnalysis, int frameNumber)
        {
            if (handAnalysis.FiredGestureData != null)
            {
                int    firedGesturesNumber = handAnalysis.FiredGestureData.Length;
                string gestureStatusLeft   = string.Empty;
                string gestureStatusRight  = string.Empty;

                if (firedGesturesNumber == 0)
                {
                    return;
                }
                GestureData data;
                string      test = "---";
                if (handAnalysis.IsGestureFired("v_sign", out data))
                {
                    test = test + "v_sign";
                }


                foreach (var gestureData in handAnalysis.FiredGestureData)
                {
                    IHand handData;
                    if (handAnalysis.QueryHandDataById(gestureData.handId, out handData) != Status.STATUS_NO_ERROR)
                    {
                        return;
                    }

                    BodySideType bodySideType = handData.BodySide;
                    if (bodySideType == BodySideType.BODY_SIDE_LEFT)
                    {
                        gestureStatusLeft += "左手手势: " + gestureData.name;
                    }
                    else if (bodySideType == BodySideType.BODY_SIDE_RIGHT)
                    {
                        gestureStatusRight += "右手手势: " + gestureData.name;
                    }
                }

                if (gestureStatusLeft == String.Empty)
                {
                    _form.UpdateInfo("Frame " + frameNumber + ") " + gestureStatusRight + ", " + test + "\n", System.Drawing.Color.SeaGreen);
                }
                else
                {
                    _form.UpdateInfo("Frame " + frameNumber + ") " + gestureStatusLeft + ", " + gestureStatusRight + ", " + test + "\n", System.Drawing.Color.SeaGreen);
                }
            }
        }