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脚本设置系统时间的两种方法
Feb 21 Python
Python简单实现子网掩码转换的方法
Apr 13 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
Oct 31 Python
在pycharm中使用git版本管理以及同步github的方法
Jan 16 Python
Django的Modelforms用法简介
Jul 27 Python
pytorch之ImageFolder使用详解
Jan 06 Python
Python3 元组tuple入门基础
Feb 09 Python
python解析xml文件方式(解析、更新、写入)
Mar 05 Python
深入了解python列表(LIST)
Jun 08 Python
Python HTMLTestRunner如何下载生成报告
Sep 04 Python
Python实现定时监测网站运行状态的示例代码
Sep 30 Python
python 日志模块logging的使用场景及示例
Jan 04 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
Netflix将与CLAMP、乙一以及冲方丁等6名知名制作人合伙展开原创动画计划!
2020/03/06 日漫
一个PHP的String类代码
2010/04/20 PHP
深入PHP数据缓存的使用说明
2013/05/10 PHP
PHP伪静态Rewrite设置之APACHE篇
2014/07/30 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
JavaScript中的Array对象使用说明
2011/01/17 Javascript
JavaScript字符串String和Array操作的有趣方法
2012/12/18 Javascript
基于JQuery 滑动与动画的说明介绍
2013/04/18 Javascript
javascript实现原生ajax的几种方法介绍
2013/09/21 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
jquery动态添加文本并获取值的方法
2016/10/12 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
2020/07/18 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
低版本中Python除法运算小技巧
2015/04/05 Python
python3如何将docx转换成pdf文件
2018/03/23 Python
详解python运行三种方式
2019/05/13 Python
将python安装信息加入注册表的示例
2019/11/20 Python
Python要如何实现列表排序的几种方法
2020/02/21 Python
Python Selenium 设置元素等待的三种方式
2020/03/18 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
2020/12/22 Python
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
户外宣传策划方案
2014/05/25 职场文书
调研座谈会发言材料
2014/08/23 职场文书
2015年新学期寄语
2015/02/26 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书
MySQL 使用事件(Events)完成计划任务
2021/05/24 MySQL
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript
GoFrame基于性能测试得知grpool使用场景
2022/06/21 Golang