使用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 相关文章推荐
简单介绍Python中的floor()方法
May 15 Python
python利用正则表达式排除集合中字符的功能示例
Oct 10 Python
Python内置模块logging用法实例分析
Feb 12 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
Oct 22 Python
对Python生成器、装饰器、递归的使用详解
Jul 19 Python
python函数修饰符@的使用方法解析
Sep 02 Python
TensorFlow实现自定义Op方式
Feb 04 Python
python_array[0][0]与array[0,0]的区别详解
Feb 18 Python
python 使用raw socket进行TCP SYN扫描实例
May 05 Python
Pytorch 统计模型参数量的操作 param.numel()
May 13 Python
Pandas自定义选项option设置
Jul 25 Python
利用Python多线程实现图片下载器
Mar 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
CI框架的安全性分析
2016/05/18 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
laravel 模型查询按照whereIn排序的示例
2019/10/16 PHP
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
2010/06/11 Javascript
jquery中获取id值方法小结
2013/09/22 Javascript
基于NodeJS的前后端分离的思考与实践(一)全栈式开发
2014/09/26 NodeJs
详解Javascript 装载和执行
2014/11/17 Javascript
常用的js验证和数据处理总结
2016/08/02 Javascript
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
使用vuex缓存数据并优化自己的vuex-cache
2018/05/30 Javascript
vue指令v-html使用过滤器filters功能实例
2019/10/25 Javascript
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
Python Trie树实现字典排序
2014/03/28 Python
Python中优化NumPy包使用性能的教程
2015/04/23 Python
使用python遍历指定城市的一周气温
2017/03/31 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
python selenium 弹出框处理的实现
2019/02/26 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
Python sqlite3查询操作过程解析
2020/02/20 Python
python生成并处理uuid的实现方式
2020/03/03 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
python和php哪个容易学
2020/06/19 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
CSS3实现缺角矩形,折角矩形以及缺角边框
2019/12/20 HTML / CSS
11月红领巾广播稿
2014/01/17 职场文书
优秀小学生家长评语
2014/01/30 职场文书
预备党员综合考察材料
2014/05/31 职场文书
体育部部长竞选稿
2015/11/21 职场文书
2017年寒假社区服务活动总结
2016/04/06 职场文书
市场营销计划书
2019/04/24 职场文书
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python