private async void _camera_PreviewFrameAvailable(object sender, PreviewArrivedEventArgs e) { try { _stream = new MemoryStream(e.Frame.ImageStream); if (null == _stream) return; await Application.Current.Dispatcher.BeginInvoke( DispatcherPriority.Background, new Action(() => { try { _bitmapImage = new BitmapImage(); _bitmapImage.BeginInit(); _bitmapImage.StreamSource = _stream; // Copy stream to local _bitmapImage.EndInit(); cam.Source = _bitmapImage; observed = new Image<Bgr, byte>(UiHandler.Bmimg2Bitmap(_bitmapImage)); Operator op = new Operator(640, 480, 280); status.Content= op.FindMiddleByImg(observed); UiHandler.show_Image(cam_right, op.GetRoadImg()); } catch (Exception) { // ignored } })); } catch (Exception) { // ignored } }
private async void _camera_PreviewFrameAvailable(object sender, PreviewArrivedEventArgs e) { try { _stream = new MemoryStream(e.Frame.ImageStream); if (null == _stream) return; await Application.Current.Dispatcher.BeginInvoke( DispatcherPriority.Background, new Action(() => { try { _bitmapImage = new BitmapImage(); _bitmapImage.BeginInit(); _bitmapImage.StreamSource = _stream; // Copy stream to local _bitmapImage.EndInit(); cam.Source = _bitmapImage; if (isRecording) { using (Image<Bgr, byte> rec_frame = new Image<Bgr, byte>(UiHandler.Bmimg2Bitmap(_bitmapImage))) { rec_frame.Save(AppDomain.CurrentDomain.BaseDirectory + "img\\" + (++index) + ".jpg"); } } } catch (Exception ex) { // ignored } })); } catch (Exception) { // ignored } }