视频的处理也是OpenCV的基本功能之一,它可以做连续性的影像处理,比capCreateCaptureWindow()这个函数好用多 了,capCreateCaptureWindow()在"vfw.h"里,只能在MicroSoft的Visual C++及 Borland C++ builder使用,Dev-C++4.9.9.2不提供此函数,当然啦,OpenCV对于视频的处理提供了比 capCreateCaptureWindow()更强大的功能.
程序代码部分
里面使用到CvCapture及IplImage两个数据结构,CvCapture是一个Interface的数据结构,为一个数据结构的雏形,无任何的变量类型存在,由cvCaptureFromCAM(0)来选定Webcam装置,cvCaptureFromCAM(0)的0代表自动侦测视频装置,如果有两台以上的Webcam则就用连续两个cvCaptureFromCAM(0)函数来撷取,接着,就用while(true)的无限循环来捕捉连续影像的图像画面,cvQueryFrame()则用来得到每毫秒显示出来的frame这里由cvWaitKey(10)来控制采集时间,每延迟10毫秒捕捉一次视频画面,cvWaitKey()为键盘事件,每超过10毫秒则会回传-1,因此,画面会因cvWaitKey(10)而延迟10毫秒,接着由无限循环来继续播放,当键盘事件发生的时候则会跳出whlie的无限循环.接着就把CvCapture数据结构及窗口接口数据结构做內存的释放.
执行结果: