本文做的是基于opencv将视频帧转成图片输出,由于一个视频包含的帧数过多,经常我们并不是需要它的全部帧转成图片,因此我们希望可以设置每隔多少帧再转一次图片(本文设置为30帧),若有人需求是只需要前多少帧,也可以类似的改写下代码即可。
本文代码如下:
#include <iostream> #include "cv.h" #include "opencv2/opencv.hpp" using namespace std; using namespace cv; // 描述:将视频帧转成图片输出 void main() { // 获取视频文件 VideoCapture cap("J:\\CQH\\DLFR\\lab_face\\video\\DSC_0023.MOV"); // 获取视频总帧数 long totalFrameNumber = cap.get(CV_CAP_PROP_FRAME_COUNT); cout << "total frames: " << totalFrameNumber << endl; Mat frame; bool flags = true; long currentFrame = 0; while (flags){ // 读取视频每一帧 cap.read(frame); stringstream str; str << "cqh" << currentFrame << ".jpg"; cout << "正在处理第" << currentFrame << "帧" << endl; printf("\n"); // 设置每30帧获取一次帧 if (currentFrame % 30 == 0){ // 将帧转成图片输出 imwrite("J:\\CQH\\DLFR\\lab_face\\videoToImages\\DSC_0023\\" + str.str(), frame); } // 结束条件 if (currentFrame >= totalFrameNumber){ flags = false; } currentFrame++; } system("pause"); }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章题目:使用opencv将视频帧转成图片输出-创新互联
浏览地址:https://www.cdcxhl.com/article28/cssgcp.html
成都网站建设公司_创新互联,为您提供定制开发、企业网站制作、企业建站、App开发、ChatGPT、手机网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联