{{error}}
{{(quickSearchResults.length>10)?'10+':(quickSearchResults.length)}} {{(quickSearchResults.length==1)?'result':'results'}}
{{result.title}} {{result.timeStamp | mysql2ymd }}
I am sorry, no such article was written yet.
C# Emgu.CV video surveillance - part 1: how to capture snapshots every few seconds
C# Emgu.CV video surveillance - part 1: how to capture snapshots every few seconds
A sample application to capture every two seconds a photo with the video camera using Emgu.CV on C#.
EmguCapture.cs
using Emgu.CV;
using System.Collections;
using Emgu.CV.CvEnum;
using Emgu.CV.Util;
using Emgu.CV.Structure;
using Emgu.CV.Features2D;
using System;
using System.Drawing.Imaging;
using System.IO;
using System.Threading;

namespace ConsoleApplication2
{
	class Program
	{
		static void Main(string[] args)
		{
			if (args.Length!=0){
				if (args[0] == "start")
					CaptureStart();
				if (args[0] == "stop")
					CaptureStop();
			}
			Console.WriteLine("Capture start | stop");
		}
		public static void CaptureStart()
		{
			var signature = "" + new Random().Next();
			Config.set("capture-session", signature);
			Capture c = new Capture();
			c.SetCaptureProperty(CAP_PROP.CV_CAP_PROP_FRAME_WIDTH, 1024);
			c.SetCaptureProperty(CAP_PROP.CV_CAP_PROP_FRAME_HEIGHT, 768);
			for (;;)
			{
				if (Config.get("capture-session") != signature) return;
				try
				{
					Thread.Sleep(3000);
					var thumbnail = c.QueryGrayFrame();
						Storage.Save(c.QueryFrame());
				}
				catch (Exception e)
				{
					Console.WriteLine(e.StackTrace);
				}
			}
		}
		public static void CaptureStop()
		{
			Config.set("capture-session", "");
		}
	}
}