Пример #1
0
        public int[] Run(IntPtr data)
        {
            IntPtr ptr = PoseNetPInvok.EstimatePose(interpreter, data, width, height, out int length);
            var    val = new int[length];

            Marshal.Copy(ptr, val, 0, length);
            PoseNetPInvok.DeleateResult(ptr);
            return(val);
        }
Пример #2
0
        public PoseNet(string path, int thread)
        {
            model  = PoseNetPInvok.TfLiteModelCreateFromFile(path);
            option = PoseNetPInvok.TfLiteInterpreterOptionsCreate();
            PoseNetPInvok.TfLiteInterpreterOptionsSetNumThreads(option, thread);
            interpreter = PoseNetPInvok.TfLiteInterpreterCreate(model, option);
            IntPtr input = PoseNetPInvok.TfLiteInterpreterGetInputTensor(interpreter, 0);

            width  = PoseNetPInvok.TfLiteTensorDim(input, 2);
            height = PoseNetPInvok.TfLiteTensorDim(input, 1);
        }
Пример #3
0
 public void Dispose()
 {
     PoseNetPInvok.TfLiteInterpreterDelete(interpreter);
     PoseNetPInvok.TfLiteInterpreterOptionsDelete(option);
     PoseNetPInvok.TfLiteModelDelete(model);
 }