void videoFile_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { if (this.NewFrame != null) { this.NewFrame(this, eventArgs); } }
private void _videoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { if (OnNewFrame != null) { OnNewFrame(eventArgs.Frame); } }
private void VideoDevice_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { if (SettingService.IsMirror) { eventArgs.Frame.RotateFlip(System.Drawing.RotateFlipType.RotateNoneFlipX); } }
void videoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { //Cast the frame as Bitmap object and don't forget to use ".Clone()" otherwise //you'll probably get access violation exceptions //myBitImg = Helper.BitmapToImageSource((System.Drawing.Bitmap)eventArgs.Frame.Clone()); //myImgDisp.Source = myBitImg; try { System.Drawing.Image img = (System.Drawing.Bitmap)eventArgs.Frame.Clone(); MemoryStream ms = new MemoryStream(); img.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp); ms.Seek(0, SeekOrigin.Begin); BitmapImage bi = new BitmapImage(); bi.BeginInit(); bi.StreamSource = ms; bi.EndInit(); bi.Freeze(); myImgDisp.Dispatcher.BeginInvoke(new ThreadStart(delegate { myImgDisp.Source = bi; })); } catch (Exception ex) { } }
void SelectedCamera_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { try { if (Application.Current != null) { if (ImageControls != null) { foreach (var item in ImageControls) { if (!isVideoSourceInitialized) { ImageControls = new List <Image>(); break; } Application.Current.Dispatcher.Invoke((Action)(delegate { item.Source = LoadBitmap((System.Drawing.Bitmap)eventArgs.Frame.Clone()); })); } } } } catch { } }
private void CaptureDevice_NewFrame(object sender, AForge.Video.NewFrameEventArgs e) { if (OnFrameAvailable != null) { OnFrameAvailable(e.Frame); } }
/// <summary> /// 接收到图片处理 /// </summary> /// <param name="sender"></param> /// <param name="eventArgs"></param> private void OnNewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone(); this.videoPalyerA.SetImage(bitmap); this.videoPalyerB.SetImage(bitmap); }
void camera_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { globFrameCount++; DateTime captureTime = DateTime.Now; Bitmap frame = eventArgs.Frame; BitmapData bmpData = frame.LockBits(new Rectangle(0, 0, frame.Width, frame.Height), ImageLockMode.ReadWrite, frame.PixelFormat); Image <Bgr, byte> image = new Image <Bgr, byte>(frame.Width, frame.Height, bmpData.Stride, bmpData.Scan0); //to prevent any corrupted memory errors that crop up for some reason Image <Bgr, byte> image2 = image.Clone(); //dispose all unused image data to prevent memory leaks image.Dispose(); frame.UnlockBits(bmpData); frame.Dispose(); eventArgs.Frame.Dispose(); CapturedImage capturedImage = new CapturedImage(image2, captureTime); MostRecentImage = capturedImage; _logic.UpdateAndPredictNotes(capturedImage); TimeSpan timeElapsed = DateTime.Now - captureTime; if (timeElapsed.TotalMilliseconds > 45) { Debug.WriteLine("WARNING: Capture took {0} ms.", timeElapsed.TotalMilliseconds); } ImageQueue.Enqueue(capturedImage); }
private void ca_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { Bitmap bit = (Bitmap)eventArgs.Frame.Clone(); img = bit; pictureBox1.Image = img; }
private void VideoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { Invoke((MethodInvoker) delegate { if (pictureBox1.Image != null) { pictureBox1.Image.Dispose(); } Bitmap clone = (Bitmap)eventArgs.Frame.Clone(); try { Rectangle rect = new Rectangle(0, 0, eventArgs.Frame.Width, eventArgs.Frame.Height); System.Drawing.Imaging.BitmapData bmpData = eventArgs.Frame.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite, eventArgs.Frame.PixelFormat); IntPtr ptr = bmpData.Scan0; var bytes = _encoder.EncodeFrame(ptr); eventArgs.Frame.UnlockBits(bmpData); if (bytes != null && bytes.Length > 0) { _writer.Write(bytes); _socket.SendTo(bytes, _endPoint); } } catch (Exception e) { Console.WriteLine(e.Message); } pictureBox1.Image = clone; }); }
private async void CaptureNewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { GC.Collect(); var frame = eventArgs.Frame; await SendVideoFrameAsync(frame, _currentVideoInterlocutor); }
private void _currentCameraDevice_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { IsPlaying = _haveStarted; try { BitmapImage bi; using (var bitmap = (Bitmap)eventArgs.Frame.Clone()) { bi = bitmap.ToBitmapImage(); } bi.Freeze(); // avoid cross thread operations and prevents leaks Dispatcher.BeginInvoke(new ThreadStart(delegate { this.Source = bi; })); if (_needOneFrame) { using (MemoryStream bitmapStream = new MemoryStream()) { eventArgs.Frame.Save(bitmapStream, ImageFormat.Bmp); _currentBitmapBytes = bitmapStream.GetBuffer(); _needOneFrame = false; } } } catch (Exception exc) { } }
private void Cam_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { // Timer //Bitmap bit = (Bitmap)eventArgs.Frame.Clone(); // kameradan alınan görüntüyü picturebox a atıyoruz. _livePhoto = (Bitmap)eventArgs.Frame.Clone(); pbOrginal.Image = _livePhoto; }
void captureDevice_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { lock (this) { Dispatcher.Invoke(delegate() { var image = eventArgs.Frame; _detector.ProcessFrame(image); if (_processor.ObjectsCount > 0) { var largestMovementArea = int.MinValue; var largestMovementCenter = default(Point); foreach (var zone in _processor.ObjectRectangles) { var movementArea = zone.Width * zone.Height; if (movementArea > largestMovementArea) { largestMovementArea = movementArea; largestMovementCenter = new Point(zone.X + zone.Width / 2, zone.Y + zone.Height / 2); } } //now determine where the center movement is, and in which grid. var imageWidth = (double)image.Width; var imageHeight = (double)image.Height; var gridRowCount = MotionGrid.RowDefinitions.Count; var gridColumnCount = MotionGrid.ColumnDefinitions.Count; var cellWidth = imageWidth / gridColumnCount; var cellHeight = imageHeight / gridRowCount; var targetColumn = (int)Math.Min(Math.Max((largestMovementCenter.X) / cellWidth, 0), gridColumnCount - 1); var targetRow = (int)Math.Min(Math.Max((largestMovementCenter.Y) / cellHeight, 0), gridRowCount - 1); var currentProgressBarRow = Grid.GetRow(ProgressBar); var currentProgressBarColumn = Grid.GetColumn(ProgressBar); //reposition the progress bar if the cell with activity in it has changed. if (currentProgressBarColumn != targetColumn || currentProgressBarRow != targetRow) { Grid.SetColumn(ProgressBar, targetColumn); Grid.SetRow(ProgressBar, targetRow); this.currentColumn = targetColumn; this.currentRow = targetRow; ProgressBar.Value = 0; } } var source = ConvertBitmap(image); CameraFeed.Source = source; image.Dispose(); }); } }
private void VideoCaptureDevice_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { try { System.Drawing.Image img = (Bitmap)eventArgs.Frame.Clone(); MemoryStream ms = new MemoryStream(); img.Save(ms, ImageFormat.Bmp); ms.Seek(0, SeekOrigin.Begin); BitmapImage bi = new BitmapImage(); bi.BeginInit(); bi.StreamSource = ms; bi.EndInit(); bi.Freeze(); Dispatcher.BeginInvoke(new ThreadStart(delegate { frameHolder.Source = bi; } )); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void CaptureDevice_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { Bitmap frame = eventArgs.Frame; ui(() => { ImageRealTime.Source = BitmapToImageSource(frame); }); //we'll process next one only when we've finished previos if (!processingFinished) { return; } processingFinished = false; new Thread((obj) => { Bitmap fr = (Bitmap)obj; string info = ""; Bitmap processedFrame = ImageProcessor.getEdges(fr, objects, forgetTicks, out info); ui(() => { ImageRealTimeProcessed.Source = BitmapToImageSource(processedFrame); Title = info; }); processingFinished = true; }).Start(frame.Clone()); }
private void WebCam_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { MemoryStream memoryStream = new MemoryStream(); System.Drawing.Bitmap img = (System.Drawing.Bitmap)eventArgs.Frame.Clone(); img.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Bmp); memoryStream.Seek(0, SeekOrigin.Begin); BitmapImage requiredImage = new BitmapImage(); requiredImage.BeginInit(); requiredImage.StreamSource = memoryStream; requiredImage.EndInit(); requiredImage.Freeze(); if (takePicture) { takePicture = false; img.Save(string.Format(@"C:\Users\shyam\Desktop\Afergo Images\{0}.jpg", System.Guid.NewGuid().ToString())); } Dispatcher.BeginInvoke(new ThreadStart(delegate { imgScreen.Source = requiredImage; })); }
private void Camera_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { Bitmap bmp = (Bitmap)eventArgs.Frame.Clone(); if (isScaning) { img = (Bitmap)eventArgs.Frame.Clone(); } bmp.RotateFlip(RotateFlipType.Rotate180FlipY); if (isScaning) { Bitmap img2 = (Bitmap)bmp.Clone(); System.Drawing.Pen p = new System.Drawing.Pen(System.Drawing.Color.YellowGreen, (float)4); Graphics g = Graphics.FromImage(img2); System.Drawing.Point p1 = new System.Drawing.Point(15, top); System.Drawing.Point p2 = new System.Drawing.Point(imagePlay.Width * 2, top); g.DrawLine(p, p1, p2); g.Dispose(); top += 5; if (top >= 400) { top = 50; } //top = top % imagePlay.Height; imagePlay.Image = img2; } else { imagePlay.Image = bmp; } }
private void VideoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { if (pbWeb.Image != null) { pbWeb.Image.Dispose(); } pbWeb.Image = (Bitmap)eventArgs.Frame.Clone(); }
private void videoCaptureDevice_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { Size resizer = new Size(480, 240); tempImage = (Bitmap)eventArgs.Frame.Clone(); imageToSend = ResizeImage(tempImage, resizer); video(); }
private static void VideoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { lock (bitmapLock) { lastBitmap.Dispose(); lastBitmap = new System.Drawing.Bitmap(eventArgs.Frame); } }
private void source_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { currFrame = eventArgs.Frame; if (NewFrame != null) { NewFrame(this, EventArgs.Empty); } }
private void Frame_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { try { ptxWebCam.Image = (Image)eventArgs.Frame.Clone(); } catch (Exception ex) { } }
void videoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { newFrame = (Image)eventArgs.Frame.Clone(); if (NewFrameEvent != null) { NewFrameEvent(this, new EventArgs()); } }
public static void VideoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { if (pcbFoto.Image != null) { pcbFoto.Image.Dispose(); } pcbFoto.Image = (System.Drawing.Bitmap)eventArgs.Frame.Clone(); }
private void _videoCaptureDevice_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { lock (_framesLock) { _lastFrame?.Dispose(); _lastFrame = (Bitmap)eventArgs.Frame.Clone(); } _screenWaitEvent?.Set(); }
private void onCameraNewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { //Cast the frame as Bitmap object and don't forget to use ".Clone()" otherwise //you'll probably get access violation exceptions lock (lockobj) { cameraImage = (Bitmap)eventArgs.Frame.Clone(); updateAvataPreview(); } }
private void videoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { // This will get the elapse time between the current time from the time you start your recording TimeSpan currentTime = DateTime.Now.TimeOfDay; TimeSpan elapse = currentTime - tmspStartRecording; //Cast the frame as Bitmap object and don't forget to use ".Clone()" otherwise you'll probably get access violation exceptions videoWriter.WriteVideoFrame((Bitmap)eventArgs.Frame.Clone(), elapse); }
void stream__NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { if (OnFrame != null) { OnFrame.Invoke(this, new FrameEventArgs { Image = eventArgs.Frame }); } }
// event-handler of video - rotate image and display void videoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { frameCounter++; if (frameCounter > 10) { pictureBoxVideo.BackgroundImage = RotateImage((Bitmap)eventArgs.Frame.Clone(), cameraRotation, cameraZoom); frameCounter = 0; } }