- 读取并播放视频
opencv中的VideoCapture
类可以对视频读取和显示。具体的做法是在循环中不停读取每帧的画面并显示,一直等帧读完为止,下面这段代码还是很容易理解的。
VideoCapture capture("0.mjpeg");
while (1)
{
Mat frame;
capture >> frame;
if (frame.empty())
{
break;
}
imshow("Video", frame);
waitKey(20); //这个延时很重要,如果太大则视频播放不流畅
}
- 调用摄像头采集图像
VideoCapture
类也很强大的提供了很简单的调用摄像头的方法,只需要把capture实例的参数由具体的视频文件名换成0
即可调用和PC连接的摄像头,只需要改写上面那段代码的一小部分,即可播放由摄像头采集的视频
VideoCapture capture(0);
imshow
while (1)
{
Mat frame;
capture >> frame;
imshow("Video", frame);
waitKey(20);
}
也可以用摄像头拍照,但要控制好延时时间,例如
VideoCapture capture(0);
Mat frame;
waitKey(1000);
capture >> frame;
imshow("image", frame);
waitKey(0);
这样就可以截一张图并显示出来。
有了摄像头采集视频,就可以进行后续的一些视频处理。