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的字典和列表的使用中一些需要注意的地方
Apr 24 Python
python实现的系统实用log类实例
Jun 30 Python
Python编程实现双击更新所有已安装python模块的方法
Jun 05 Python
Python中常见的异常总结
Feb 20 Python
python利用ffmpeg进行录制屏幕的方法
Jan 10 Python
Python 利用切片从列表中取出一部分使用的方法
Feb 01 Python
详解Python的三种可变参数
May 08 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
Jun 19 Python
PYTHON如何读取和写入EXCEL里面的数据
Oct 28 Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 Python
keras中epoch,batch,loss,val_loss用法说明
Jul 02 Python
详解Anaconda 的安装教程
Sep 23 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
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
PHP Class&Object -- 解析PHP实现二叉树
2013/06/25 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
JS 表单验证大全
2011/11/23 Javascript
js控制不同的时间段显示不同的css样式的实例代码
2013/11/04 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
动态内存分配导致影响Javascript性能的问题
2018/12/18 Javascript
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
python判断列表的连续数字范围并分块的方法
2018/11/16 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
Python如何存储数据到json文件
2020/03/09 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
广告学专业毕业生自荐信
2013/09/24 职场文书
面料业务员岗位职责
2013/12/26 职场文书
18岁生日感言
2014/01/12 职场文书
婚礼主持词开场白
2014/03/13 职场文书
经典公益广告词
2014/03/13 职场文书
酒鬼酒广告词
2014/03/21 职场文书
学雷锋月活动总结
2014/04/25 职场文书
无财产无子女离婚协议书范文
2014/09/14 职场文书
新员工入职欢迎词
2015/01/23 职场文书
2015年助理政工师工作总结
2015/05/26 职场文书
感恩教育主题班会
2015/08/12 职场文书
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS
pytorch 实现在测试的时候启用dropout
2021/05/27 Python
嵌入式Redis服务器在Spring Boot测试中的使用教程
2021/07/21 Redis
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技