1. 导入OpenCV库和相关头文件。
#include <opencv2/opencv.hpp>
#include <iostream>
2. 创建一个窗口,用于显示视频帧。
cv::namedWindow("Video Player", cv::WINDOW_NORMAL);
3. 打开视频文件。
cv::VideoCapture cap("video.mp4"); // 替换为你的视频文件路径
if (!cap.isOpened()) {
std::cout << "Error opening video file" << std::endl;
return -1;
}
4. 循环读取视频帧并显示在窗口中。
while (true) {
cv::Mat frame;
cap >> frame; // 读取一帧图像
if (frame.empty()) {
break; // 如果读取失败,跳出循环
}
cv::imshow("Video Player", frame); // 显示图像
if (cv::waitKey(30) >= 0) { // 等待用户按键,如果按下任意键则退出循环
break;
}
}
5. 释放资源并关闭窗口。
cap.release(); // 释放视频文件资源
cv::destroyAllWindows(); // 关闭所有窗口
完整的代码如下所示:
#include <opencv2/opencv.hpp>
#include <iostream>
int main()
{
cv::namedWindow("Video Player", cv::WINDOW_NORMAL);
cv::VideoCapture cap("video.mp4"); // 替换为你的视频文件路径
if (!cap.isOpened())
{
std::cout << "Error opening video file" << std::endl;
return -1;
}
while (true) {
cv::Mat frame;
cap >> frame; // 读取一帧图像
if (frame.empty()) {
break; // 如果读取失败,跳出循环
}
cv::imshow("Video Player", frame); // 显示图像
if (cv::waitKey(30) >= 0) { // 等待用户按键,如果按下任意键则退出循环
break;
}
}
cap.release(); // 释放视频文件资源
cv::destroyAllWindows(); // 关闭所有窗口
return 0;
}