使用OpenCV播放视频和使用OpenCV显示图片一样简单。
唯一需要注意的是,需要一个循环来逐帧播放视频和退出该循环的方法。
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <string>
using namespace cv;
int main(int argc, char ** argv)
{
namedWindow("Example2-3", WINDOW_AUTOSIZE);
VideoCapture cap;
cap.open(static_cast<std::string>(argv[1]));
Mat frame;
while (true)
{
cap >> frame;
if (frame.empty())
break;
imshow("Example2-3", frame);
if (waitKey(33) >= 0) // 每帧33毫秒
break;
}
return 0;
}