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多线程编程(七):使用Condition实现复杂同步
Apr 05 Python
详解Python中的各种函数的使用
May 24 Python
Python的Django框架中的Context使用
Jul 15 Python
在Python的Django框架中为代码添加注释的方法
Jul 16 Python
python实现Decorator模式实例代码
Feb 09 Python
python读取中文txt文本的方法
Apr 12 Python
python使用epoll实现服务端的方法
Oct 16 Python
tensorflow之tf.record实现存浮点数数组
Feb 17 Python
Python多进程编程multiprocessing代码实例
Mar 12 Python
python中adb有什么功能
Jun 07 Python
如何对python的字典进行排序
Jun 19 Python
C站最全Python标准库总结,你想要的都在这里
Jul 03 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
安装APACHE
2007/01/15 PHP
浅谈PHP强制类型转换,慎用!
2013/06/06 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
浅谈php调用python文件
2019/03/29 PHP
JavaScript中的Screen屏幕对象
2008/01/16 Javascript
js活用事件触发对象动作
2008/08/10 Javascript
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
jQuery 剧场版 你必须知道的javascript
2009/05/27 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
2014/09/01 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
2016/09/17 Javascript
JavaScript实现瀑布流以及加载效果
2017/02/11 Javascript
利用js判断手机是否安装某个app的多种方案
2017/02/13 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
jQuery插件HighCharts绘制简单2D折线图效果示例【附demo源码】
2017/03/21 jQuery
详解用Node.js写一个简单的命令行工具
2018/03/01 Javascript
JS中Promise函数then的奥秘探究
2018/07/30 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
5分钟教你用nodeJS手写一个mock数据服务器的方法
2019/09/10 NodeJs
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
python使用多进程的实例详解
2018/09/19 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
python如何输出反斜杠
2020/06/18 Python
python不同版本的_new_不同点总结
2020/12/09 Python
HTML5 placeholder属性详解
2016/06/22 HTML / CSS
分布式数据库需要考虑哪些问题
2013/12/08 面试题
what is the difference between ext2 and ext3
2015/08/25 面试题
医大实习自我鉴定
2013/12/07 职场文书
教师个人自我剖析材料
2014/09/29 职场文书
通知书大全
2015/04/27 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python