视屏的本质是一些静态的图像的集合,opencv可以不断读取视屏中的图片,显示,就产生了类似电影的效果。
这样也就可以通过opencv对实时的视屏流进行处理了。
#include "stdafx.h" #include "cv.h" #include "highgui.h" int main(){ cvNamedWindow("Example2",CV_WINDOW_AUTOSIZE);//申请可以自动调节大小的窗口Example1 CvCapture *capture=cvCreateFileCapture("F:/film/kq.avi");//读取avi格式的影片 IplImage*frame; while(1){ frame = cvQueryFrame(capture);//读取下一个影片帧率 if(!frame)break; cvShowImage("Example2",frame); char c=cvWaitKey(33); //每读取一个视频片度就停止33毫秒,并且会收集键盘的输入 if(c == 27)break;//27就是对应键盘上的ESC建,如果没有按键盘的话C为-1 } cvReleaseCapture(&capture); cvDestroyWindow("Example2"); return 0; }