C++opencv打开并读取视频文件的函数
时间: 2023-12-15 11:05:37 浏览: 69
在使用OpenCV读取视频文件时,可以使用cv::VideoCapture类和它的open()和read()方法。
以下是一个示例代码,可以打开视频文件并逐帧读取:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 打开视频文件
VideoCapture cap("test_video.mp4");
// 检查是否成功打开视频文件
if (!cap.isOpened()) {
cerr << "Error: Failed to open 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 << "Frame rate: " << fps << endl;
// 读取每一帧并显示
Mat frame;
while (cap.read(frame)) {
imshow("Video", frame);
waitKey(1);
}
// 关闭视频文件
cap.release();
return 0;
}
```
在上面的代码中,我们使用cap.get()方法获取视频的帧数和帧率,并使用cap.read()方法逐帧读取视频。读取的每一帧都被存储在Mat对象中,并使用imshow()方法显示。最后,我们使用cap.release()方法释放VideoCapture对象。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)