使用opencv将视频帧转成图片输出


Posted in Python onDecember 10, 2019

本文做的是基于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");
}

运行结果如下:

使用opencv将视频帧转成图片输出

以上这篇使用opencv将视频帧转成图片输出就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pyqt 实现为长内容添加滑轮 scrollArea
Jun 19 Python
Python 合并多个TXT文件并统计词频的实现
Aug 23 Python
python 上下文管理器及自定义原理解析
Nov 19 Python
python 通过视频url获取视频的宽高方式
Dec 10 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
Mar 19 Python
Python实现将元组中的元素作为参数传入函数的操作
Jun 05 Python
Spy++的使用方法及下载教程
Jan 29 Python
python 实现德洛内三角剖分的操作
Apr 22 Python
教你使用TensorFlow2识别验证码
Jun 11 Python
ROS系统将python包编译为可执行文件的简单步骤
Jul 25 Python
django框架cookie和session用法实例详解
Dec 10 #Python
python selenium实现发送带附件的邮件代码实例
Dec 10 #Python
opencv设置采集视频分辨率方式
Dec 10 #Python
django框架forms组件用法实例详解
Dec 10 #Python
django框架auth模块用法实例详解
Dec 10 #Python
django框架中间件原理与用法详解
Dec 10 #Python
Django2 连接MySQL及model测试实例分析
Dec 10 #Python
You might like
PHP版微信小店接口开发实例
2016/11/12 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
js的逻辑运算符 ||
2010/05/31 Javascript
事件模型在各浏览器中存在差异
2010/10/20 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
js获取当前页面的url网址信息
2014/06/12 Javascript
JS动态插入并立即执行回调函数的方法
2016/04/21 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
ES6扩展运算符用法实例分析
2017/10/31 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
小程序云开发实战小结
2018/10/25 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
layui 上传文件_批量导入数据UI的方法
2019/09/23 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
python pandas 对时间序列文件处理的实例
2018/06/22 Python
python 使用值来排序一个字典的方法
2018/11/16 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
python实现一行输入多个值和一行输出多个值的例子
2019/07/16 Python
jupyter修改文件名方式(TensorFlow)
2020/04/21 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
CSS3模块的目前的状况分析
2010/02/24 HTML / CSS
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
英国第一独立滑雪板商店:The Snowboard Asylum
2020/01/16 全球购物
党的群众路线教育实践活动个人整改措施范文
2014/11/04 职场文书
退休教师欢送会致辞
2015/07/31 职场文书
goland 设置project gopath的操作
2021/05/06 Golang
react 路由Link配置详解
2021/11/11 Javascript