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中pygame模块用法实例
Oct 09 Python
17个Python小技巧分享
Jan 23 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
Jul 11 Python
Python探索之创建二叉树
Oct 25 Python
简单实现python聊天程序
Apr 01 Python
python安装模块如何通过setup.py安装(超简单)
May 05 Python
python 识别图片中的文字信息方法
May 10 Python
基于anaconda下强大的conda命令介绍
Jun 11 Python
详解django的serializer序列化model几种方法
Oct 16 Python
python数字类型math库原理解析
Mar 02 Python
Python CategoricalDtype自定义排序实现原理解析
Sep 11 Python
pytorch实现手写数字图片识别
May 20 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
PHP将两个关联数组合并函数提高函数效率
2014/03/18 PHP
php实现两表合并成新表并且有序排列的方法
2014/12/05 PHP
PHP扩展框架之Yaf框架的安装与使用
2016/05/18 PHP
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
JS拖动技术 关于setCapture使用
2010/12/09 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
jQuery中:text选择器用法实例
2015/01/03 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
easyui form validate总是返回false的原因及解决方法
2016/11/07 Javascript
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
2017/10/12 Javascript
Vue-router 切换组件页面时进入进出动画方法
2018/09/01 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
JS数组及对象遍历方法代码汇总
2020/06/16 Javascript
vue3中轻松实现switch功能组件的全过程
2021/01/07 Vue.js
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
Python中特殊函数集锦
2015/07/27 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
python对象转字典的两种实现方式示例
2019/11/07 Python
Numpy中ndim、shape、dtype、astype的用法详解
2020/06/14 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
2020/11/24 Python
详解如何用HTML5 Canvas API控制图片的缩放变换
2016/03/22 HTML / CSS
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
html5唤醒APP小记
2019/03/27 HTML / CSS
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
大二学期个人自我评价
2014/01/13 职场文书
副厂长岗位职责
2014/02/02 职场文书
明星员工获奖感言
2014/08/14 职场文书
酒店餐厅2014重阳节活动策划方案
2014/09/16 职场文书
代办出身证明书
2014/10/21 职场文书
决心书格式范文
2015/09/23 职场文书