使用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 的 Socket 编程
Mar 24 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 Python
浅析Python中yield关键词的作用与用法
Nov 29 Python
python 读写文件,按行修改文件的方法
Jul 12 Python
对python修改xml文件的节点值方法详解
Dec 24 Python
Python代码打开本地.mp4格式文件的方法
Jan 03 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
python模拟键盘输入 切换键盘布局过程解析
Aug 15 Python
Python使用ElementTree美化XML格式的操作
Mar 06 Python
Python计算矩阵的和积的实例详解
Sep 10 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
Dec 27 Python
Python 多线程之threading 模块的使用
Apr 14 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
dedecms模板标签代码官方参考
2007/03/17 PHP
php使用CURL伪造IP和来源实例详解
2015/01/15 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
CI框架常用函数封装实例
2016/11/21 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
大家未必知道的Js技巧收藏
2008/04/07 Javascript
js活用事件触发对象动作
2008/08/10 Javascript
jQuery 选择表格(table)里的行和列及改变简单样式
2012/12/15 Javascript
获取客户端网卡MAC地址和IP地址实现JS代码
2013/03/17 Javascript
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
js获取判断上传文件后缀名的示例代码
2014/02/19 Javascript
使表格的标题列可左右拉伸jquery插件封装
2014/11/24 Javascript
谷歌浏览器调试JavaScript小技巧
2014/12/29 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
2016/12/28 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
Python使用Flask框架获取当前查询参数的方法
2015/03/21 Python
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
通过Pandas读取大文件的实例
2018/06/07 Python
python 获取等间隔的数组实例
2019/07/04 Python
Python-Tkinter Text输入内容在界面显示的实例
2019/07/12 Python
Python 实现向word(docx)中输出
2020/02/13 Python
Python ADF 单位根检验 如何查看结果的实现
2020/06/03 Python
python利用递归方法实现求集合的幂集
2020/09/07 Python
New Balance澳大利亚官网:运动鞋和健身服装
2019/02/23 全球购物
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
40岁生日感言
2014/02/15 职场文书
大学新生军训自我鉴定范文
2014/09/13 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
2015民办小学年度工作总结
2015/05/26 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
golang 实现并发求和
2021/05/08 Golang