c语言opencv读取本地视频
时间: 2023-10-06 07:08:25 浏览: 114
以下是使用c语言opencv读取本地视频的示例代码:
```
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
// 打开本地视频文件
VideoCapture cap("test.mp4");
// 检查视频是否成功打开
if(!cap.isOpened())
{
printf("Failed to open video file!\n");
return -1;
}
// 创建窗口
namedWindow("Video", CV_WINDOW_NORMAL);
while(1)
{
Mat frame;
// 读取视频帧
cap >> frame;
// 检查是否读取到视频帧
if(frame.empty())
{
printf("End of video file!\n");
break;
}
// 显示视频帧
imshow("Video", frame);
// 等待用户按下键盘
if(waitKey(30) >= 0)
break;
}
// 释放视频对象和窗口
cap.release();
destroyAllWindows();
return 0;
}
```
在以上示例代码中,我们首先使用VideoCapture类打开本地视频文件,然后在一个循环中读取视频帧并显示出来,直到读取到最后一帧为止。注意,在读取视频帧时,我们使用了`cap >> frame`语句,其中`cap`是VideoCapture对象,`frame`是Mat对象,表示将视频帧读取到`frame`中。最后,我们释放了VideoCapture对象和窗口。
阅读全文