protected override void Work(StdSharedPtr <CustomDatum>[] datums)
        {
            try
            {
                if (datums != null)
                {
                    // Debugging log
                    OpenPose.LogIfDebug("", Priority.Low, -1, nameof(this.Work), "");
                    // Profiling speed
                    var profilerKey = Profiler.TimerInit(-1, nameof(this.Work), "");

                    foreach (var datum in datums)
                    {
                        // THESE 2 ARE THE ONLY LINES THAT THE USER MUST MODIFY ON THIS HPP FILE, by using the proper
                        // function and datum elements
                        using (var cvOutputData = OpenPose.OP_OP2CVMAT(datum.Get().CvOutputData))
                            this._UserPostProcessing.DoSomething(cvOutputData, cvOutputData);
                        // Profiling speed
                        Profiler.TimerEnd(profilerKey);
                        Profiler.PrintAveragedTimeMsOnIterationX(profilerKey, -1, nameof(this.Work), "");
                        // Debugging log
                        OpenPose.LogIfDebug("", Priority.Low, -1, nameof(this.Work), "");
                    }
                }
            }
            catch (Exception e)
            {
                this.Stop();
                datums = null;
                Console.WriteLine(e.Message);
            }
        }
Exemple #2
0
 protected override void Work(StdSharedPtr <UserDatum>[] datums)
 {
     try
     {
         // User's post-processing (after OpenPose processing & before OpenPose outputs) here
         // datum.cvOutputData: rendered frame with pose or heatmaps
         // datum.poseKeypoints: Array<float> with the estimated pose
         if (datums != null && datums.Length != 0)
         {
             foreach (var datum in datums)
             {
                 using (var cvOutputData = OpenPose.OP_OP2CVMAT(datum.Get().CvOutputData))
                     Cv.BitwiseNot(cvOutputData, cvOutputData);
             }
         }
     }
     catch (Exception e)
     {
         this.Stop();
         OpenPose.Error(e.Message, -1, nameof(this.Work));
     }
 }
Exemple #3
0
 protected override void Work(StdSharedPtr <Datum>[] datums)
 {
     try
     {
         // User's pre-processing (after OpenPose read the input image & before OpenPose processing) here
         // datumPtr->cvInputData: input frame
         if (datums != null && datums.Length != 0)
         {
             foreach (var datum in datums)
             {
                 using (var cvOutputData = OpenPose.OP_OP2CVMAT(datum.Get().CvOutputData))
                     Cv.BitwiseNot(cvOutputData, cvOutputData);
             }
         }
     }
     catch (Exception e)
     {
         OpenPose.Log("Some kind of unexpected error happened.");
         this.Stop();
         OpenPose.Error(e.Message, -1, nameof(this.Work));
     }
 }
Exemple #4
0
 protected override void Work(StdSharedPtr <Datum>[] datumsPtr)
 {
     try
     {
         // User's processing here
         // datum.cvInputData: initial cv::Mat obtained from the frames producer (video, webcam, etc.)
         // datum.cvOutputData: final cv::Mat to be displayed
         if (datumsPtr != null)
         {
             foreach (var datum in datumsPtr)
             {
                 using (var cvOutputData = OpenPose.OP_OP2CVMAT(datum.Get().CvOutputData))
                     Cv.BitwiseNot(cvOutputData, cvOutputData);
             }
         }
     }
     catch (Exception e)
     {
         OpenPose.Log("Some kind of unexpected error happened.");
         this.Stop();
         OpenPose.Error(e.Message, -1, nameof(this.Work));
     }
 }