热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

求助。。获取视频的全部帧图像

在Qt中,我用QMediaPlayer读入了一个视频,并用QVideoFrame在播放过程中对每帧的图像进了处理,但我有以下问题:1,能否读入视频后,快速获取视频的全部帧图像?2,能否把处理后的视频
在Qt中,我用QMediaPlayer 读入了一个视频,并用QVideoFrame在播放过程中对每帧的图像进了处理,但我有以下问题:1,能否读入视频后,快速获取视频的全部帧图像?2,能否把处理后的视频进行保存输出?
求好心人帮忙!谢谢!

2 个解决方案

#1


你需要ffmpeg,它可以实现你的需求,一个循环就搞定了。

#2


引用 1 楼 foruok 的回复:
你需要ffmpeg,它可以实现你的需求,一个循环就搞定了。


我用结合opencv了,但是合成的视频就是播放不了,这是为什么呀?

CvCapture* capture = cvCaptureFromAVI(CanshuChuandi::globalVideoPath.toLatin1().data());
        int frameH =  (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT);
        int frameW =  (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH);
        int fps =     (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);
        int nFrames = (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_COUNT);
        CvVideoWriter *writer = 0;
        writer =cvCreateVideoWriter(outputVideoPath.toLatin1().data() , CV_FOURCC('X','V','I','D'), fps , cvSize(frameW , frameH) , 1);
        IplImage *img = cvCreateImage( cvSize(frameW, frameH), 8, 3 );;
        for(int i =0 ; i         {
            img = cvQueryFrame(capture);
            img = Chuli(img);
            cvWriteFrame(writer , img);
        }

推荐阅读
author-avatar
qqian
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有