Ejemplo n.º 1
0
        public void HandleVisionTask(VisionCommand vcommand)
        {
            if (Eye != null)
            {
                // TODO: Start Camear, Query a frame, Corp, Send to Server
                Eye.Start();
                var img = Eye.GetLatestData();

                var    converter = new ImageConverter();
                byte[] byteData  = (byte[])converter.ConvertTo(img, typeof(byte[]));

                var fileName  = $"{Guid.NewGuid().ToString()}.jpg";
                var blockBlob = container.GetBlockBlobReference(fileName);
                blockBlob.UploadFromByteArray(byteData, 0, byteData.Length);

                Brain.Vision.Analyze(ArmId, fileName, "4396");


                Eye.Stop();
            }
            lock (SyncRoot)
            {
                CurrentCommand = null;
                CurrentStatus  = Status.Idle;
            }
        }
Ejemplo n.º 2
0
        private void TestVisionButton_Click(object sender, RoutedEventArgs e)
        {
            _dataContext.AddOutput("Test Vision Button is clicked!");
            var command = new VisionCommand("test");

            _commands.Enqueue(command);

            new Thread(CommandExecutor.SharedInstance.Execute).Start();

            Scroller.ScrollToBottom();
        }
Ejemplo n.º 3
0
        public void Execute(VisionCommand command)
        {
            var fileName = $"{Guid.NewGuid().ToString()}.jpg";

            TakePhoto(fileName);

            Thread.Sleep(1000);

            if (File.Exists(fileName))
            {
                //SendImageToServer(fileName, command.Data);
                UploadImageAsBlob(fileName).Wait();
            }

            lock (CommandExecutor.SharedInstance)
            {
                CommandStore.SharedInstance.CurrentCommand       = null;
                CommandExecutor.SharedInstance.IsWaitingResponse = false;
            }
        }