private void TaskOnStateChanged(object sender, BaseTaskState e)
 {
     try
     {
         OnStateChanged.Invoke(sender, e);
     }
     catch (Exception error)
     {
         _logger.LogError($"RecognitionTask state listener thrown unhandled exception:\n{error}");
     }
 }
Exemplo n.º 2
0
        private void OnStateChanged(object sender, BaseTaskState e)
        {
            if (!(sender is RecognitionTask))
            {
                return;
            }

            var task = (RecognitionTask)sender;

            if (task.SearchTask.State != BaseTaskState.Succeeded)
            {
                return;
            }

            var _ = Task.Run(async() =>
            {
                foreach (var face in task.Faces)
                {
                    await _service.ReportLabelAsync(face.SearchResults[0].Label, face.SearchResults[0].Distance,
                                                    CancellationToken.None);
                }
            });
        }
Exemplo n.º 3
0
        private void OnStateChanged(object sender, BaseTaskState e)
        {
            if (!(sender is RecognitionTask))
            {
                return;
            }

            var task = (RecognitionTask)sender;

            if (!task.IsCompleted)
            {
                return;
            }

            _metrics.Write(DetectionTime, task.DetectionTask.Time);
            if (task.SearchTask.IsCompleted)
            {
                _metrics.Write(VectorTime, task.VectorizationTask.Time);
                _metrics.Write(SearchTime, task.SearchTask.Time);
            }

            _metrics.Write(FaceCount, task.FaceCount);
        }