OpenCV C++: 如何提取并显示视频当前帧图像
以下是一个简单的 OpenCV C++ 代码示例,可以提取视频的当前帧并将其显示:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
// 打开视频文件
VideoCapture cap('test.mp4');
if (!cap.isOpened()) {
cout << '无法打开视频文件' << endl;
return -1;
}
// 创建窗口
namedWindow('Video', WINDOW_AUTOSIZE);
// 循环读取视频帧
Mat frame;
while (cap.read(frame)) {
// 显示当前帧
imshow('Video', frame);
// 按下 ESC 键退出循环
if (waitKey(30) == 27) {
break;
}
}
// 释放资源
cap.release();
destroyAllWindows();
return 0;
}
在上面的代码中,我们首先打开视频文件,然后创建一个名为'Video'的窗口。然后,我们循环读取视频帧,并使用imshow()函数显示当前帧。最后,我们等待用户按下 ESC 键来退出循环,并释放资源。
原文地址: https://www.cveoy.top/t/topic/ods4 著作权归作者所有。请勿转载和采集!