当前位置: 首页> 科技> IT业 > OpenCV 读取 MP4 视频

OpenCV 读取 MP4 视频

时间:2025/7/11 18:12:22来源:https://blog.csdn.net/weixin_45794330/article/details/141015175 浏览次数:0次

在 C++ 中结合 OpenCV 库来读取 MP4 视频文件是一个常见的任务。以下是一个简单的示例程序,说明了如何使用 OpenCV 的 VideoCapture 类来打开一个 MP4 文件并逐帧显示每一帧。

VideoCapture::VideoCapture(const string& filename);参数:filename—— 要打开的视频文件的名称;bool VideoCapture::isOpened();isOpened() 函数用于检查 VideoCapture 对象是否已经成功地打开了一个视频文件或摄像头。
如果 VideoCapture 对象已经成功初始化并准备好读取视频帧,
那么 isOpened() 将返回 true;
否则,如果还没有打开视频文件或摄像头,或者打开过程中发生了错误,它将返回 false。

代码:

#include <iostream>
#include <opencv2/opencv.hpp>using namespace std;
using namespace cv;int main()
{// 打开视频文件VideoCapture cap("1.mp4");// 检查是否成功打开文件if (!cap.isOpened()) {cout << "Error opening video file" << endl;return -1;}// 获取视频的帧率double fps = cap.get(CAP_PROP_FPS);cout << "Frames per second using video.get(cv::CAP_PROP_FPS): " << fps << endl;// 循环读取并显示每一帧Mat frame;while (true){// 从视频中读取一帧cap >> frame;// 如果没有读取到帧,则退出循环if (frame.empty()) {break;}// 显示这一帧imshow("Video", frame);// 按键退出if (waitKey(1000 / fps) >= 0){break;}}// 释放资源cap.release();// 销毁所有窗口destroyAllWindows();return 0;
}

#include <iostream>
#include <opencv2/opencv.hpp>using namespace std;
using namespace cv;int main()
{// 打开视频文件VideoCapture cap("1.mp4");// 检查是否成功打开文件if (!cap.isOpened()) {cout << "Error opening video file" << endl;return -1;}// 获取视频的帧率double fps = cap.get(CAP_PROP_FPS);cout << "Frames per second using video.get(cv::CAP_PROP_FPS): " << fps << endl;// 循环读取并显示每一帧Mat frame;while (cap.read(frame))// 从视频中读取一帧{//VideoCapture 类中的 read 函数用于从视频流中读取下一帧。//这个函数返回一个布尔值,表示是否成功读取了一帧。如果读取成功,它会将该帧存储在一个 Mat 对象中。如果到达视频末尾或出现错误,它将返回 false。// 如果没有读取到帧,则退出循环if (frame.empty()) {break;}// 显示这一帧imshow("Video", frame);// 按键退出if (waitKey(1000 / fps) >= 0){break;}}// 释放资源cap.release();// 销毁所有窗口destroyAllWindows();return 0;
}

关键字:OpenCV 读取 MP4 视频

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: