#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
// 定义相关VideoCapture对象
VideoCapture capture;
// 读取视频文件
capture.open("..\\images\\car.avi");
// 判断视频流读取是否正确
if(!capture.isOpened())
{
std::cout << "fail to open video!" << std::endl;
return -1;
}
// 获取视频相关信息-帧数
long nTotalFrame = capture.get(CV_CAP_PROP_FRAME_COUNT);
std:: cout << "nTotalFrame = " << nTotalFrame << std::endl;
// 获取视频相关信息-帧像素宽高
int frameHeight= capture.get(CV_CAP_PROP_FRAME_HEIGHT);
int frameWidth = capture.get(CV_CAP_PROP_FRAME_WIDTH);
std::cout << "frameHeight = " << frameHeight << std::endl;
std::cout << "frameWidth = " << frameWidth << std::endl;
// 获取视频相关信息-帧率
double FrameRate = capture.get(CV_CAP_PROP_FPS);
std::cout<< "FrameRate = " << FrameRate << std::endl;
cv::Mat frameImg;
// read方法获取显示帧
long nCount = 1;
while (true)
{
std::cout << " Current frame: " << nCount << std::endl;
capture >> frameImg;
// 判断当前读取文件
if (!frameImg.empty())
{
imshow("frameImg", frameImg);
}else
{
break;
}
// 按下键盘上q键退出
if (char(waitKey(1)) == 'q')
{
break;
}
nCount++;
}
// 视频释放
capture.release();
return 0;
}
转载:http://blog.youkuaiyun.com/zhuwei1988
VideoCapture 读取视频文件,显示视频(帧)信息
最新推荐文章于 2025-10-17 07:39:41 发布
本文介绍如何使用OpenCV库在C++环境中读取并播放视频文件。通过具体的代码示例展示了如何初始化视频捕获对象、检查视频是否成功打开、获取视频的基本属性如总帧数、帧尺寸及帧率等,并实现逐帧读取和显示视频内容直至用户按下“q”键退出。
3219

被折叠的 条评论
为什么被折叠?



