コード例 #1
0
ファイル: MainPage.xaml.cs プロジェクト: ronaldcaceres/Blog
        private async void CameraHelper_FrameArrived(object sender, Microsoft.Toolkit.Uwp.Helpers.FrameEventArgs e)
        {
            if (e?.VideoFrame?.SoftwareBitmap == null)
            {
                return;
            }
            if (_model == null)
            {
                return;
            }

            var input = new TinyYoloV212ModelInput()
            {
                Image = e.VideoFrame
            };

            _stopwatch = Stopwatch.StartNew();
            var output = await _model.EvaluateAsync(input);

            _stopwatch.Stop();
            _boxes = _parser.ParseOutputs(output.Grid.ToArray());

            await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() =>
            {
                TextBlockInformation.Text = $"{1000f / _stopwatch.ElapsedMilliseconds,4:f1} fps on Width {_yoloCanvasActualWidth} x Height {_yoloCanvasActualHeight}";
                DrawOverlays(e.VideoFrame);
            });
        }
コード例 #2
0
        public async Task <TinyYoloV212ModelOutput> EvaluateAsync(TinyYoloV212ModelInput input)
        {
            var output  = new TinyYoloV212ModelOutput();
            var binding = new LearningModelBindingPreview(_learningModel);

            binding.Bind("image", input.Image);
            binding.Bind("grid", output.Grid);
            var evalResult = await _learningModel.EvaluateAsync(binding, string.Empty);

            return(output);
        }