python视频按帧截取图片工具


Posted in Python onJuly 23, 2019

本文实例为大家分享了python视频按帧截取图片工具的具体代码,供大家参考,具体内容如下

描述:将一个视频流按帧数截取大量的图片

用途:AI的数据集制作,得到大量的图片,之后将其打标签

更改的地方

1.default--间隔的帧数   2.input/output--输入视频的路径、存放截取图片的路径 (将路径放入后面的‘ '中即可)前面加r可表示绝对路径 eg:

args = parser.parse_args(['--input',r'F:\data_video\IMG_4395.MOV','--output',r'F:data_rgb_pic\7video'])

直接上代码

import cv2
import argparse
import os
def parse_args():
 """
 Parse input arguments
 """
 parser = argparse.ArgumentParser(description='Process pic')
 parser.add_argument('--input', help='video to process', dest='input', default=None, type=str)
 parser.add_argument('--output', help='pic to store', dest='output', default=None, type=str)
 #default为间隔多少帧截取一张图片
 parser.add_argument('--skip_frame', dest='skip_frame', help='skip number of video', default=100, type=int)
 #input为输入视频的路径 ,output为输出存放图片的路径
 args = parser.parse_args(['--input','','--output',''])
 return args
 
def process_video(i_video, o_video, num):
 cap = cv2.VideoCapture(i_video)
 num_frame = cap.get(cv2.CAP_PROP_FRAME_COUNT)
 expand_name = '.jpg'
 if not cap.isOpened():
  print("Please check the path.")
 cnt = 0
 count = 0
 while 1:
  ret, frame = cap.read()
  cnt += 1
  # how
  # many
  # frame
  # to
  # cut
  if cnt % num == 0:
   count += 1
   cv2.imwrite(os.path.join(o_video, str(count) + expand_name), frame)
 
  if not ret:
   break
 
if __name__ == '__main__':
 args = parse_args()
 if not os.path.exists(args.output):
  os.makedirs(args.output)
 print('Called with args:')
 print(args)
 process_video(args.input, args.output, args.skip_frame)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中将阿拉伯数字转换成中文的实现代码
May 19 Python
Python 实现一个颜色色值转换的小工具
Dec 06 Python
TensorFlow在MAC环境下的安装及环境搭建
Nov 14 Python
python 读取目录下csv文件并绘制曲线v111的方法
Jul 06 Python
如何利用Python分析出微信朋友男女统计图
Jan 25 Python
PyQt5响应回车事件的方法
Jun 25 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
Jul 22 Python
python django 原生sql 获取数据的例子
Aug 14 Python
python匿名函数的使用方法解析
Oct 10 Python
python tkinter 设置窗口大小不可缩放实例
Mar 04 Python
python+OpenCV实现图像拼接
Mar 05 Python
django表单中的按钮获取数据的实例分析
Jul 31 Python
python如何实现从视频中提取每秒图片
Oct 22 #Python
详解Django 时间与时区设置问题
Jul 23 #Python
利用python-pypcap抓取带VLAN标签的数据包方法
Jul 23 #Python
python 抓包保存为pcap文件并解析的实例
Jul 23 #Python
Django ModelForm组件使用方法详解
Jul 23 #Python
Pandas之groupby( )用法笔记小结
Jul 23 #Python
Python OpenCV调用摄像头检测人脸并截图
Aug 20 #Python
You might like
Terran历史背景
2020/03/14 星际争霸
表格展示无限级分类(PHP版)
2012/08/21 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
javascript eval函数深入认识
2009/02/21 Javascript
在网站上应该用的30个jQuery插件整理
2011/11/03 Javascript
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
Javascript限制网页只能在微信内置浏览器中访问
2014/11/09 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
jquery实现定时自动轮播特效
2015/12/10 Javascript
js密码强度检测
2016/01/07 Javascript
JavaScript计算值然后把值嵌入到html中的实现方法
2016/10/29 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
Vue Ajax跨域请求实例详解
2017/06/20 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
Python入门篇之面向对象
2014/10/20 Python
python中pass语句用法实例分析
2015/04/30 Python
Python中time模块和datetime模块的用法示例
2016/02/28 Python
python多进程和多线程究竟谁更快(详解)
2017/05/29 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
Jacobi迭代算法的Python实现详解
2019/06/29 Python
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
Viking比利时:购买办公用品
2019/10/30 全球购物
自主招生学校推荐信
2014/09/26 职场文书
新学期感想
2015/08/10 职场文书
好段摘抄大全(48句)
2019/08/08 职场文书
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
vscode中使用npm安装babel的方法
2021/08/02 Javascript