【拜小白opencv】18-使用VideoCapture类读取播放视频操作--多信息版

来源:互联网 发布:专业淘宝食品图片拍摄 编辑:程序博客网 时间:2024/05/16 01:58

常言道“温故而知新”,写此文章就是对自己目前学习内容的小小的总结与记录。

本文力求用最简洁的语言,详细的代码将此部分内容讲解清楚,但由于博主同样是刚刚接触OpenCV,或许表达上有些瑕疵,还望读者能够指教探讨,大家共同进步。

博主机器配置为:VS2013+opencv2.4.13+Win-64bit。

若本文能给读者带来一点点启示与帮助,我就很开心了。

===========================分割线========================


上一节仅仅是个简洁版的读取视频文件程序,本节将会显示出视频帧的尺寸,帧数、帧率等方法。


======================分割线==================

演示代码

/*使用VideoCapture类读取播放视频操作--多信息版*/#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(){//-------------【1】读取视频文件-------------VideoCapture capture;capture.open("D:\\OutPutResult\\ImageTest\\tt.mp4");//方式二:VideoCapture capture("D:\\OutPutResult\\ImageTest\\tt.mp4");//-------------【2】判断视频读取是否正确-------------if (!capture.isOpened()){cout << "打开视频文件失败,请重新输入正确路径!" << endl;system("pause");return -1;}//-------------【3】获取视频相关信息-------------//获取视频相关信息——帧数long nTotalFrame = capture.get(CV_CAP_PROP_FRAME_COUNT);cout << "帧数 = " << nTotalFrame << endl;//获取视频相关信息——帧像素宽/高int frameHeight = capture.get(CV_CAP_PROP_FRAME_HEIGHT);int frameWidth = capture.get(CV_CAP_PROP_FRAME_WIDTH);cout << "帧像素高 = " << frameHeight << endl;cout << "帧像素宽 = " << frameWidth << endl;//获取视频相关信息——帧率double FrameRate = capture.get(CV_CAP_PROP_FPS);cout << "帧率 = " << FrameRate << endl;//--------------【4】循环显示每一帧---------------long nCount = 1;//计数,当前帧号while (true){//输出当前帧号cout << "当前帧号: " << nCount << endl;Mat frameImg;//定义一个Mat变量,用于存储每一帧的图像capture >> frameImg;//判断当前读取文件if (frameImg.empty()){break;}imshow("读取视频", frameImg);//显示当前帧//按下键盘上Q或q键退出if (char(waitKey(40)) == 'q' || char(waitKey(40)) == 'Q') //每帧画面存在40ms,即1秒25帧{break;}nCount++;}//视频释放capture.release();return 0;}

===========================分割线=======================

显示结果


==============================分割线====================

程序说明

本节在上一节的基础上,增加了获取视频相关信息的部分。可以得到帧数、帧像素高/宽、帧率。
同时可以实时显示当前帧号,还增加了随时可以退出视频的按键“Q”。

======================END========================

阅读全文
0 0
原创粉丝点击