private void button2_Click(object sender, EventArgs e) { if (button2.Text == "Tomar Foto") { AForge.Video.DirectShow.FilterInfoCollection videosources = new AForge.Video.DirectShow.FilterInfoCollection(AForge.Video.DirectShow.FilterCategory.VideoInputDevice); if (videosources != null) { videosource = new AForge.Video.DirectShow.VideoCaptureDevice(videosources[0].MonikerString); videosource.NewFrame += (s, a) => pictureBox2.Image = (Bitmap)a.Frame.Clone(); videosource.Start(); button2.Text = "Capturar"; } } else { pictureBox1.Image = pictureBox2.Image; if (videosource != null && videosource.IsRunning) { videosource.SignalToStop(); videosource = null; } pictureBox2.Image = null; button2.Text = "Tomar Foto"; } }
public void GetFrame() { // enumerate video devices var videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); //foreach (FilterInfo item in videoDevices) //{ //videoSource = new VideoCaptureDevice(item.MonikerString); videoSource = new VideoCaptureDevice(videoDevices[1].MonikerString); //videoSource.DesiredFrameSize = new Size(160, 120); // create video source //VideoCaptureDevice videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString); // set NewFrame event handler videoSource.NewFrame += new NewFrameEventHandler(video_NewFrame); // start the video source videoSource.Start(); // ... System.Threading.Thread.Sleep(500); Trace.WriteLine("FramesReceived: " + videoSource.FramesReceived); // signal to stop videoSource.SignalToStop(); // ... //} }
public void StopVideo(VideoCaptureDevice videoSource) { if (videoSource != null && videoSource.IsRunning) { // stop the video source videoSource.SignalToStop(); videoSource = null; // ... } }
private static void Main(string[] args) { Trace.Listeners.Add(new ConsoleTraceListener()); // enumerate video devices var videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if (videoDevices.Count > 0) { // create video source var videoSource = new VideoCaptureDevice( videoDevices[0].MonikerString); int maxCapabilitieIndex = videoSource.VideoCapabilities.Count() - 1; if (maxCapabilitieIndex > 0) { VideoCapabilities resolution = videoSource.VideoCapabilities[maxCapabilitieIndex]; videoSource.VideoResolution = resolution; videoSource.SetCameraProperty(CameraControlProperty.Exposure, +20, CameraControlFlags.Manual); // set NewFrame event handler videoSource.NewFrame += video_NewFrame; // start the video source videoSource.Start(); int count = 0; do { Thread.Sleep(100); } while (imageCount < 20); videoSource.SignalToStop(); } else { //no capabilities } } // ... }
private void TakePhoto() { try { //webCamPictureBox.Image.Save("snapshot.png", System.Drawing.Imaging.ImageFormat.Png); btnSalvarFoto.Enabled = false; btnCapturar.Enabled = true; //webCamPictureBox.ImageLocation = "snapshot.png"; if (videoSource != null && videoSource.IsRunning) { videoSource.SignalToStop(); videoSource = null; } picWebCam.Image.Save(diretorioImagem + txtNomeAluno.Text + ".jpg", System.Drawing.Imaging.ImageFormat.Png); } catch (Exception ex) { } }
private void InternalStart() { var videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if (videoDevices.Count == 0) { TraceFileHelper.Error("No video devices found."); } string moniker = null; foreach (FilterInfo videoDevice in videoDevices) { if (videoDevice.Name == m_VideoDeviceName) { moniker = videoDevice.MonikerString; break; } } if (moniker == null) { TraceFileHelper.Error("Device not found"); return; } // create video source var videoSource = new VideoCaptureDevice(moniker); int maxCapabilitieIndex = videoSource.VideoCapabilities.Count() - 1; if (maxCapabilitieIndex < 0) { TraceFileHelper.Warning("No camera image capabilities found."); return; } VideoCapabilities resolution = videoSource.VideoCapabilities[maxCapabilitieIndex]; videoSource.VideoResolution = resolution; // set NewFrame event handler videoSource.NewFrame += video_NewFrame; // start the video source videoSource.Start(); do { Thread.Sleep(100); } while (! m_StopRequested); videoSource.SignalToStop(); m_ProcessingThread = null; }