Exemplo n.º 1
0
        Task RVReporter.Tracked()
        {
            var ts = new TaskCompletionSource <bool>();

            TDispatch(() =>
            {
                if (cmpWin.ShouldStopTracking())
                {
                    btnReset.Content = "Stop";
                    TrackingStats.CamTrackEnabled = false;
                    chkCamTrack.IsChecked         = false;
                    EndRecord();
                    cmpWin.StopDrive();
                    ts.SetResult(true);
                    return;
                }
                btnReset.Content = $"Track {trackCount++}";
                ts.SetResult(false);
            });
            return(ts.Task);
        }
Exemplo n.º 2
0
        protected void grabbed(Mat matOrig)
        {
            if (inGrab)
            {
                //Console.WriteLine("Skipping frame");
                return;
            }
            inGrab = true;

            var mat = matOrig.Clone();

            reporter.ShowMat(mat).ContinueWith(tempt =>
            {
                using (mat)
                {
                    ShiftVecDector.ResizeToStdSize(mat);
                    if (TrackingStats.CamTrackEnabled)
                    {
                        if (cmpWin.ShouldStopTracking())
                        {
                            inGrab = false;
                            reporter.Tracked();
                            return;
                        }
                        cmpWin.CamTracking(mat).ContinueWith(t =>
                        {
                            inGrab = false;
                            reporter.Tracked();
                        });
                        SaveVideo(mat);
                        return;
                    }
                    else
                    {
                        SaveVideo(mat);
                        inGrab = false;
                    }
                }
            });
        }