Example #1
0
        protected virtual void OnImageAvailable(ImageAvailableEventArgs e)
        {
            var handler = ImageAvailable;

            if (handler != null)
            {
                handler(this, e);
            }
        }
Example #2
0
        void CameraVehicle_ImageAvailable(object sender, ImageAvailableEventArgs e)
        {
            //long tick = DateTime.UtcNow.GetUnixTimestamp();
            //Debug.WriteLine("vehicle_ImageAvailable,本机时间{0},远程时间{1},相差{2}毫秒。", tick, e.Tick, tick - e.Tick);
            //if (Math.Abs(tick - e.Tick) > 0)
            //{
            //    MessageBox.Show("The computer's time and the phone's time differ too much.");
            //    App.Current.Shutdown(1);
            //}

            lastImageTick = Environment.TickCount;

            currentTimeTextBlock.Text = e.Tick.ToString();
            Image <Bgr, byte> img = e.Image;


            if (showGridCheckBox.IsChecked.GetValueOrDefault(false))
            {
                imageControl.Source = DrawGrid(img).ToBitmapSource();
            }
            else
            {
                imageControl.Source = img.ToBitmapSource();
            }

            if (analysisWorker.IsBusy == false)
            {
                if (getBackgroundCheckBox.IsChecked.GetValueOrDefault(false))
                {
                    if (saveToFileCheckBox.IsEnabled)
                    {
                        Task.Factory.StartNew(obj =>
                        {
                            ImageAvailableEventArgs eArgs = (ImageAvailableEventArgs)obj;
                            eArgs.Image.Save(Path.Combine("images", eArgs.Tick + ".jpg"));
                        }, e);
                    }

                    analysisWorker.RunWorkerAsync(e);
                }
                else if (saveToFileCheckBox.IsChecked.GetValueOrDefault(false) && saveToFileCheckBox.IsEnabled)
                {
                    Task.Factory.StartNew(obj =>
                    {
                        ImageAvailableEventArgs eArgs = (ImageAvailableEventArgs)obj;
                        eArgs.Image.Save(Path.Combine("images", eArgs.Tick + ".jpg"));
                    }, e);
                }
            }
        }