Esempio n. 1
0
        private void Start()
        {
            CameraService    cameraService    = new CameraService();
            CognitiveService cognitiveService = new CognitiveService();


            int countSearchTimes = 0;

            _isScanning = true;
            List_wordsRicognized.Visibility = Visibility.Collapsed;
            Button_start.Visibility         = Visibility.Collapsed;
            Button_stop.Visibility          = Visibility.Visible;
            Grid_loading.Visibility         = Visibility.Visible;
            DM_logo.Visibility = Visibility.Collapsed;

            Task.Factory.StartNew(async() =>
            {
                if (cameraService.IsInitialized() == false)
                {
                    await cameraService.InitializeAsync();
                }

                while (_isScanning)
                {
                    countSearchTimes++;

                    Task.Delay(Config.Instance.ScanTimeDeley).Wait();

                    if (_isScanning)
                    {
                        var stream = (await cameraService.CapturePhoto());
                        stream.Seek(0);
                        byte[] imgBytes = new byte[stream.Size];
                        await stream.AsStream().ReadAsync(imgBytes, 0, (int)stream.Size);

                        var _words = await cognitiveService.ReadTextFromImage(imgBytes);

                        if (_words != null && _words.Count > 0)
                        {
                            await UIDispatcher.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                            {
                                WordsRecognized.Clear();
                                foreach (var item in _words)
                                {
                                    WordsRecognized.Add(item);
                                }
                                Grid_loading.Visibility         = Visibility.Collapsed;
                                List_wordsRicognized.Visibility = Visibility.Visible;
                                Button_start.Visibility         = Visibility.Visible;
                                Button_stop.Visibility          = Visibility.Collapsed;
                            });

                            _isScanning = false;
                        }
                    }
                }
            }).Wait();
        }
Esempio n. 2
0
        private async void KioskPreview_Loaded(Object sender, Windows.UI.Xaml.RoutedEventArgs e)
        {
            App.Current.Suspending += Application_Suspending;
            var camera = await DeviceService.Instance.GetCameraAsync();

            cameraService = CameraService.Instance;
            await cameraService.InitializeAsync(camera.Id);

            await cameraService.Preview.StartAsync(PreviewControl);
        }
Esempio n. 3
0
        public override async Task NavigatedToAsync(object navigationParameter)
        {
            await base.NavigatedToAsync(navigationParameter);

            await cameraService.InitializeAsync();

            bool successTakingPhoto = await TakePhotoAsync();

            if (successTakingPhoto)
            {
                await NavigateToServicesAsync(CurrentMediaFile);
            }
            else
            {
                // Navigate back. Dialog is already shown
                await NavigationService.NavigateBackAsync();
            }
        }