给我一个C++的video读取代码
时间: 2024-03-02 13:52:05 浏览: 12
以下是使用OpenCV库读取视频文件的C++代码示例:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
VideoCapture cap("video.mp4"); // 打开视频文件
if (!cap.isOpened()) // 检查是否成功打开
{
cout << "Error opening video stream or file" << endl;
return -1;
}
while (true)
{
Mat frame;
cap >> frame; // 读取一帧图像
if (frame.empty()) // 检查是否到达视频末尾
break;
imshow("Frame", frame); // 显示当前帧
char c = waitKey(25); // 等待25毫秒
if (c == 27) // 按ESC键退出
break;
}
cap.release(); // 释放资源
destroyAllWindows(); // 关闭所有窗口
return 0;
}
```
其中,`VideoCapture`类用于打开视频文件并读取视频帧,`Mat`类用于存储图像数据,`imshow`函数用于显示图像,`waitKey`函数用于等待键盘输入。在代码中,我们使用了一个`while`循环来不断读取并显示视频帧,直到到达视频末尾或按下了ESC键。最后,记得释放资源并关闭所有窗口。