opencv读取视频c++
时间: 2023-10-05 14:10:14 浏览: 88
以下是使用 OpenCV 库在 C++ 中读取视频的基本代码:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
// 打开视频文件
VideoCapture cap("video.mp4");
// 检查视频是否成功打开
if (!cap.isOpened()) {
cout << "Error: Failed to open the video file." << endl;
return -1;
}
// 获取视频的帧数和帧速率
int frame_count = cap.get(CAP_PROP_FRAME_COUNT);
double fps = cap.get(CAP_PROP_FPS);
cout << "Total frames: " << frame_count << endl;
cout << "FPS: " << fps << endl;
// 创建窗口
namedWindow("Video", WINDOW_NORMAL);
// 读取视频帧
Mat frame;
while (cap.read(frame)) {
// 在窗口中显示视频帧
imshow("Video", frame);
// 暂停一段时间,以控制视频播放速度
waitKey(1000 / fps);
}
// 释放视频对象
cap.release();
return 0;
}
```
以上代码中,我们首先使用 `VideoCapture` 类打开视频文件,并检查其是否成功打开。然后,我们获取视频的帧数和帧速率,并创建一个窗口用于显示视频帧。在一个循环中,我们不断读取视频帧并在窗口中显示它们。最后,我们需要释放 `VideoCapture` 对象以关闭视频文件。
阅读全文