public void Invoke(Texture inputTex, int[] indxs, FaceDetect.Result face, FaceMesh.Result meshResult, int side) { CalcEyeRoi(face, meshResult, indxs[0], indxs[1]); var options = (inputTex is WebCamTexture) ? resizeOptions.GetModifedForWebcam((WebCamTexture)inputTex) : resizeOptions; cropMatrix = RectTransformationCalculator.CalcMatrix(new RectTransformationCalculator.Options() { rect = face.rectEye, rotationDegree = CalcFaceRotation(ref face) * Mathf.Rad2Deg, shift = FaceShift, scale = FaceScale, cameraRotationDegree = -options.rotationDegree, mirrorHorizontal = options.mirrorHorizontal, mirrorVertiacal = options.mirrorVertical, }); RenderTexture rt = resizer.Resize( inputTex, options.width, options.height, true, cropMatrix, TextureResizer.GetTextureST(inputTex, options)); ToTensor(rt, input0, false); interpreter.SetInputTensorData(0, input0); interpreter.Invoke(); interpreter.GetOutputTensorData(0, output0); interpreter.GetOutputTensorData(1, output1); }
public void Invoke(Texture inputTex, PoseDetect.Result pose) { var options = (inputTex is WebCamTexture) ? resizeOptions.GetModifedForWebcam((WebCamTexture)inputTex) : resizeOptions; // float rotation = CalcRotationDegree(ref pose); var rect = AlignmentPointsRect(ref pose); cropMatrix = RectTransformationCalculator.CalcMatrix(new RectTransformationCalculator.Options() { rect = rect, rotationDegree = 180, shift = PoseShift, scale = PoseScale, cameraRotationDegree = -options.rotationDegree, mirrorHorizontal = options.mirrorHorizontal, mirrorVertiacal = options.mirrorVertical, }); RenderTexture rt = resizer.Resize( inputTex, options.width, options.height, true, cropMatrix, TextureResizer.GetTextureST(inputTex, options)); ToTensor(rt, input0, false); interpreter.SetInputTensorData(0, input0); interpreter.Invoke(); interpreter.GetOutputTensorData(0, output0); interpreter.GetOutputTensorData(1, output1); // interpreter.GetOutputTensorData(2, output2);// not in use }
public async UniTask <Result> InvokeAsync(Texture inputTex, PalmDetect.Result palm, CancellationToken cancellationToken) { cropMatrix = RectTransformationCalculator.CalcMatrix(new RectTransformationCalculator.Options() { rect = palm.rect, rotationDegree = CalcHandRotation(ref palm) * Mathf.Rad2Deg, shift = PalmShift, scale = PalmScale, cameraRotationDegree = -resizeOptions.rotationDegree, mirrorHorizontal = resizeOptions.mirrorHorizontal, mirrorVertiacal = resizeOptions.mirrorVertical, }); RenderTexture rt = resizer.Resize( inputTex, resizeOptions.width, resizeOptions.height, true, cropMatrix, TextureResizer.GetTextureST(inputTex, resizeOptions)); await ToTensorAsync(rt, input0, false, cancellationToken); await UniTask.SwitchToThreadPool(); interpreter.SetInputTensorData(0, input0); interpreter.Invoke(); interpreter.GetOutputTensorData(0, output0); interpreter.GetOutputTensorData(1, output1); var result = GetResult(); await UniTask.SwitchToMainThread(cancellationToken); return(result); }
public void Invoke(Texture inputTex, PalmDetect.Result palm) { var options = (inputTex is WebCamTexture) ? resizeOptions.GetModifedForWebcam((WebCamTexture)inputTex) : resizeOptions; cropMatrix = RectTransformationCalculator.CalcMatrix(new RectTransformationCalculator.Options() { rect = palm.rect, rotationDegree = CalcHandRotation(ref palm) * Mathf.Rad2Deg, shift = PalmShift, scale = PalmScale, cameraRotationDegree = -options.rotationDegree, mirrorHorizontal = options.mirrorHorizontal, mirrorVertiacal = options.mirrorVertical, }); RenderTexture rt = resizer.Resize( inputTex, options.width, options.height, true, cropMatrix, TextureResizer.GetTextureST(inputTex, options)); ToTensor(rt, input0, false); // interpreter.SetInputTensorData(0, input0); interpreter.Invoke(); interpreter.GetOutputTensorData(0, output0); interpreter.GetOutputTensorData(1, output1); }
public void Invoke(Texture inputTex, FaceDetect.Result face) { cropMatrix = RectTransformationCalculator.CalcMatrix(new RectTransformationCalculator.Options() { rect = face.rect, rotationDegree = CalcFaceRotation(ref face) * Mathf.Rad2Deg, shift = FaceShift, scale = FaceScale, cameraRotationDegree = -resizeOptions.rotationDegree, mirrorHorizontal = resizeOptions.mirrorHorizontal, mirrorVertiacal = resizeOptions.mirrorVertical, }); RenderTexture rt = resizer.Resize( inputTex, resizeOptions.width, resizeOptions.height, true, cropMatrix, TextureResizer.GetTextureST(inputTex, resizeOptions)); ToTensor(rt, input0, false); // interpreter.SetInputTensorData(0, input0); interpreter.Invoke(); interpreter.GetOutputTensorData(0, output0); interpreter.GetOutputTensorData(1, output1); }