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将xml xsl文件生成html文件存储示例讲解
Dec 03 Python
python求素数示例分享
Feb 16 Python
Python爬取网易云音乐上评论火爆的歌曲
Jan 19 Python
Python针对给定列表中元素进行翻转操作的方法分析
Apr 27 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
May 07 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
Python走楼梯问题解决方法示例
Jul 25 Python
tensorflow实现简单逻辑回归
Sep 07 Python
Python 运行.py文件和交互式运行代码的区别详解
Jul 02 Python
Python如何实现在字符串里嵌入双引号或者单引号
Mar 02 Python
Python如何将字符串转换为日期
Jul 31 Python
Python读取xlsx数据生成图标代码实例
Aug 12 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跨时区(UTC时间)应用解决方案
2013/01/11 PHP
php文件下载处理方法分析
2015/04/22 PHP
php实现头像上传预览功能
2017/04/27 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
BOM与DOM的区别分析
2010/10/26 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
JavaScript对HTML DOM使用EventListener进行操作
2015/10/21 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
KnockoutJS 3.X API 第四章之表单textInput、hasFocus、checked绑定
2016/10/11 Javascript
vue2.0+webpack环境的构造过程
2016/11/08 Javascript
详解jquery选择器的原理
2017/08/01 jQuery
webpack-url-loader 解决项目中图片打包路径问题
2019/02/15 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
2019/06/13 Javascript
vuex入门最详细整理
2020/03/04 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
2020/07/24 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
处理Python中的URLError异常的方法
2015/04/30 Python
Python3匿名函数用法示例
2018/07/25 Python
django一对多模型以及如何在前端实现详解
2019/07/24 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
Python循环实现n的全排列功能
2019/09/16 Python
python super函数使用方法详解
2020/02/14 Python
马德里竞技官方网上商店:Atletico Madrid Shop
2019/03/31 全球购物
软环境建设心得体会
2014/09/09 职场文书
自主招生自荐信格式
2015/03/04 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
大客户经理岗位职责
2015/04/09 职场文书
色戒观后感
2015/06/12 职场文书
MySQL插入数据与查询数据
2022/03/25 MySQL
青岛市的收音机研制与生产
2022/04/07 无线电