Ejemplo n.º 1
0
    void Update()
    {
        palmDetect.Invoke(webcamTexture);
        cameraView.material = palmDetect.transformMat;

        var palms = palmDetect.GetResults(0.7f, 0.3f);

        UpdateFrame(palms);

        if (palms.Count <= 0)
        {
            if (landmarkResult != null)
            {
                landmarkResult.score = 0;
            }
            return;
        }

        // Detect only first palm
        landmarkDetect.Invoke(webcamTexture, palms[0]);
        debugPalmView.texture = landmarkDetect.inputTex;

        landmarkResult = landmarkDetect.GetResult();
        {
            // Apply webcam rotation to draw landmarks correctly
            Matrix4x4 mtx = WebCamUtil.GetMatrix(-webcamTexture.videoRotationAngle, false, webcamTexture.videoVerticallyMirrored);
            for (int i = 0; i < landmarkResult.joints.Length; i++)
            {
                landmarkResult.joints[i] = mtx.MultiplyPoint3x4(landmarkResult.joints[i]);
            }
        }

        RectTransformationCalculator.ApplyToRectTransform(landmarkDetect.CropMatrix, cropedFrame.rectTransform);
    }
Ejemplo n.º 2
0
    void Update()
    {
        palmDetect.Invoke(webcamTexture);
        cameraView.material = palmDetect.transformMat;
        cameraView.rectTransform.GetWorldCorners(rtCorners);

        var palms = palmDetect.GetResults(0.7f, 0.3f);

        DrawFrames(palms);

        if (palms.Count <= 0)
        {
            return;
        }

        // Detect only first palm
        landmarkDetect.Invoke(webcamTexture, palms[0]);
        debugPalmView.texture = landmarkDetect.inputTex;

        var landmarkResult = landmarkDetect.GetResult();

        if (landmarkResult.score < 0.2f)
        {
            return;
        }

        DrawCropMatrix(landmarkDetect.CropMatrix);
        DrawJoints(landmarkResult.joints);
    }
Ejemplo n.º 3
0
    void Update()
    {
        var resizeOptions = palmDetect.ResizeOptions;

        resizeOptions.rotationDegree = webcamTexture.videoRotationAngle;
        palmDetect.ResizeOptions     = resizeOptions;

        palmDetect.Invoke(webcamTexture);
        cameraView.material = palmDetect.transformMat;

        var palms = palmDetect.GetResults(0.7f, 0.3f);

        UpdateFrame(palms);

        if (palms.Count <= 0)
        {
            return;
        }

        // Detect only first palm
        landmarkDetect.Invoke(webcamTexture, palms[0]);
        debugPalmView.texture = landmarkDetect.inputTex;

        var joints = landmarkDetect.GetResult().joints;

        DrawJoints(joints);
    }
Ejemplo n.º 4
0
    private void Invoke(Texture texture)
    {
        palmDetect.Invoke(texture);
        cameraView.material = palmDetect.transformMat;
        cameraView.rectTransform.GetWorldCorners(rtCorners);

        palmResults = palmDetect.GetResults(0.7f, 0.3f);


        if (palmResults.Count <= 0)
        {
            return;
        }

        // Detect only first palm
        landmarkDetect.Invoke(texture, palmResults[0]);
        debugPalmView.texture = landmarkDetect.inputTex;

        landmarkResult = landmarkDetect.GetResult();
    }