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实现分析apache和nginx日志文件并输出访客ip列表的方法
Apr 04 Python
简单介绍Python的轻便web框架Bottle
Apr 08 Python
Python实现各种排序算法的代码示例总结
Dec 11 Python
Windows和Linux下Python输出彩色文字的方法教程
May 02 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
Jul 07 Python
Python实现两款计算器功能示例
Dec 19 Python
Windows下Anaconda的安装和简单使用方法
Jan 04 Python
Python单向链表和双向链表原理与用法实例详解
Aug 31 Python
Python递归函数实例讲解
Feb 27 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
Python批量查询关键词微信指数实例方法
Jun 27 Python
python编程项目中线上问题排查与解决
Nov 01 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
支持oicq头像的留言簿(二)
2006/10/09 PHP
PHP基本语法总结
2014/09/06 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
CakePHP框架Model函数定义方法示例
2017/08/04 PHP
Laravel find in set排序实例
2019/10/09 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
js Date自定义函数 延迟脚本执行
2010/03/10 Javascript
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
2013/05/21 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
js计算任意值之间随机数的方法
2015/01/16 Javascript
微信支付如何实现内置浏览器的H5页面支付
2015/09/25 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
2017/09/07 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
如何使用VuePress搭建一个类型element ui文档
2019/02/14 Javascript
Vue如何获取数据列表展示
2019/12/11 Javascript
jQuery+ajax实现文件上传功能
2020/12/22 jQuery
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
在Python中操作字典之fromkeys()方法的使用
2015/05/21 Python
Python修改MP3文件的方法
2015/06/15 Python
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
Python3模拟curl发送post请求操作示例
2019/05/03 Python
Python创建空列表的字典2种方法详解
2020/02/13 Python
Python如何使用input函数获取输入
2020/08/06 Python
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
美国最大的宠物药店:1-800-PetMeds
2016/10/02 全球购物
财务管理专业应届毕业生求职信
2013/09/22 职场文书
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
详解Node.js如何处理ES6模块
2021/05/15 Javascript
JavaScript中时间格式化新思路toLocaleString()
2021/11/07 Javascript