Esempio n. 1
0
 void videoFile_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
 {
     if (this.NewFrame != null)
     {
         this.NewFrame(this, eventArgs);
     }
 }
Esempio n. 2
0
 private void _videoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
 {
     if (OnNewFrame != null)
     {
         OnNewFrame(eventArgs.Frame);
     }
 }
Esempio n. 3
0
 private void VideoDevice_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
 {
     if (SettingService.IsMirror)
     {
         eventArgs.Frame.RotateFlip(System.Drawing.RotateFlipType.RotateNoneFlipX);
     }
 }
Esempio n. 4
0
        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)
            {
            }
        }
Esempio n. 5
0
 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 { }
 }
Esempio n. 6
0
 private void CaptureDevice_NewFrame(object sender, AForge.Video.NewFrameEventArgs e)
 {
     if (OnFrameAvailable != null)
     {
         OnFrameAvailable(e.Frame);
     }
 }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        private void ca_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
        {
            Bitmap bit = (Bitmap)eventArgs.Frame.Clone();

            img = bit;
            pictureBox1.Image = img;
        }
Esempio n. 10
0
        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;
            });
        }
Esempio n. 11
0
        private async void CaptureNewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
        {
            GC.Collect();
            var frame = eventArgs.Frame;

            await SendVideoFrameAsync(frame, _currentVideoInterlocutor);
        }
Esempio n. 12
0
        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)
            {
            }
        }
Esempio n. 13
0
 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;
 }
Esempio n. 14
0
        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();
                });
            }
        }
Esempio n. 15
0
        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());
            }
        }
Esempio n. 16
0
        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());
        }
Esempio n. 17
0
        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;
            }));
        }
Esempio n. 18
0
        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;
            }
        }
Esempio n. 19
0
 private void VideoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
 {
     if (pbWeb.Image != null)
     {
         pbWeb.Image.Dispose();
     }
     pbWeb.Image = (Bitmap)eventArgs.Frame.Clone();
 }
Esempio n. 20
0
        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();
        }
Esempio n. 21
0
 private static void VideoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
 {
     lock (bitmapLock)
     {
         lastBitmap.Dispose();
         lastBitmap = new System.Drawing.Bitmap(eventArgs.Frame);
     }
 }
Esempio n. 22
0
 private void source_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
 {
     currFrame = eventArgs.Frame;
     if (NewFrame != null)
     {
         NewFrame(this, EventArgs.Empty);
     }
 }
Esempio n. 23
0
 private void Frame_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
 {
     try
     {
         ptxWebCam.Image = (Image)eventArgs.Frame.Clone();
     }
     catch (Exception ex) { }
 }
Esempio n. 24
0
        void videoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
        {
            newFrame = (Image)eventArgs.Frame.Clone();

            if (NewFrameEvent != null)
            {
                NewFrameEvent(this, new EventArgs());
            }
        }
Esempio n. 25
0
 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();
 }
Esempio n. 26
0
 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);
        }
Esempio n. 29
0
 void stream__NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
 {
     if (OnFrame != null)
     {
         OnFrame.Invoke(this, new FrameEventArgs {
             Image = eventArgs.Frame
         });
     }
 }
Esempio n. 30
0
 // 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;
     }
 }