#include<iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
VideoCapture video("F:\\image\\v2.mp4");//用VideoCapture类来读取一个视频
if (video.isOpened())//用isOpened函数判断是否成功读取
{
cout << "视频图像的宽度" << video.get(CAP_PROP_FRAME_WIDTH) << endl;
cout << "视频图像的高度" << video.get(CAP_PROP_FRAME_HEIGHT) << endl;
cout << "视频帧率" << video.get(CAP_PROP_FPS) << endl;
cout << "视频的总帧数" << video.get(CAP_PROP_FRAME_COUNT) << endl;
}
else
{
cout << "好像错了哦..." << endl;
return -1;
}
while (1)
{
Mat frame;
video >> frame;//将视频逐帧导入frame
if (frame.empty())
{
break;
}
imshow("视频", frame);//利用imshow展示每一帧图片,但帧与帧之间间隔(1/视频频率)秒,使得它们看起来就是一个视频
waitKey(1000 / video.get(CAP_PROP_FPS));
}
waitKey();
return 0;
}
效果如下