±¾ÎÄʵÀýΪ´ó¼Ò·ÖÏíÁËC#+EmguCVʹÓÃÉãÏñÍ·¶ÁÈ¡¡¢±£´æÊÓÆµµÄ¾ßÌå´úÂ룬¹©´ó¼Ò²Î¿¼£¬¾ßÌåÄÚÈÝÈçÏÂ
ÔÚEmgucvÖе÷ÓÃÉãÏñÍ·ÐèÒªÓõ½VideoCaptureÀà
Õâ¸öÀàÓÐËÄÖÖÖØÔØµÄ·½Ê½

1¡¢²»Ð´²ÎÊý£¬ÄÇô³õʼ»¯µÄʱºò¾Í»áµ÷ÓÃĬÈϵÄÉãÏñÍ·
2¡¢Ò»¸öintÀàÐ͵ÄÊý×Ö£¬Õâ¸öÊý×ֵĺ¬ÒåÊÇÉãÏñÍ·µÄË÷Òý¡£»á°´ÕÕË÷ÒýÀ´³õʼ»¯ÉãÏñÍ·
3¡¢Ò»¸ö×Ö·û´®£¬Õâ¸ö×Ö·û´®µÄº¬ÒåÊÇÎļþÃû»òÊÓÆµÁ÷Ãû¡£³õʼ»¯»á¶ÁÈ¡ÊÓÆµÎļþ»òÊÓÆµÁ÷
4¡¢CaptureType µÄö¾Ù

Õâ¸öö¾ÙµÄÄÚÈݺܶ࣬ÕâÀï²»ÔÙ׸Êö
н¨Ò»¸ö¿ØÖÆÌ¨Ó¦ÓóÌÐòÀ´ÊµÏÖÊÓÆµµÄ¶ÁÈ¡ºÍ±£´æ£¬´úÂëÈçÏÂ
class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? show();
? ? ? ? }
?
? ? ? ? private static void show()
? ? ? ? {
? ? ? ? ? ? //VideoCapture cap = new VideoCapture("AVSEQ02.avi");
? ? ? ? ? ? //VideoCapture cap = new VideoCapture(CaptureType.Any);
? ? ? ? ? ? VideoCapture cap = new VideoCapture();
? ? ? ? ? ? VideoWriter writer = new VideoWriter("save.avi", 20, new Size(640, 480), true);
? ? ? ? ? ? if (!cap.IsOpened)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Console.WriteLine("´ò¿ªÊ§°Ü");
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? }
? ? ? ? ? ? Mat mat = new Mat();
? ? ? ? ? ? while (true)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? cap.Read(mat);
? ? ? ? ? ? ? ? if (mat.IsEmpty)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Console.WriteLine("¶ÁÈ¡Íê±Ï");
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? CvInvoke.Imshow("video", mat);
? ? ? ? ? ? ? ? writer.Write(mat);
? ? ? ? ? ? ? ? CvInvoke.WaitKey(30);
? ? ? ? ? ? }
? ? ? ? ? ? CvInvoke.WaitKey(0);
?
? ? ? ? }
? ? }
ÕâÀïÓÃVideoCapture µÄRead()·½·¨À´¶ÁÈ¡ÊÓÆµµÄÿһ֡¡£±£´æÔÚMatÕâ¸ö¶ÔÏóÖС£²¢ CvInvoke.Imshow()³öÀ´¡£È»ºóÓÃVideoWriterµÄWrite·½·¨£¬°Ñÿһ֡µÄͼÏñ±£´æ³ÉÊÓÆµ¡£
ÕâÀïÐèҪעÒâµÄµØ·½ÊÇ£ºÔÚÑ»·ÖÐÐèҪͣÁô30ºÁÃ룬·ñÔòÊÓÆµÏÔʾ²»³öÀ´¡£ CvInvoke.WaitKey(30);
ÔËÐгÌÐòºó£¬¿ÉÒÔ¿´µ½£¬ÉãÏñÍ·¶ÁÈ¡µÄÊÓÆµÒѾ±£´æÁËÏÂÀ´

ÒÔÉϾÍÊDZ¾ÎĵÄÈ«²¿ÄÚÈÝ£¬Ï£Íû¶Ô´ó¼ÒµÄѧϰÓÐËù°ïÖú£¬Ò²Ï£Íû´ó¼Ò¶à¶àÖ§³ÖÔ´ÂëËѲØÍø¡£
ÈÈÃÅÔ´Âë