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中使用PIL模块对图片进行高斯模糊处理的教程
May 05 Python
Python实现的多线程http压力测试代码
Feb 08 Python
tensorflow 1.0用CNN进行图像分类
Apr 15 Python
浅谈python3.x pool.map()方法的实质
Jan 16 Python
Python第三方库h5py_读取mat文件并显示值的方法
Feb 08 Python
pyside+pyqt实现鼠标右键菜单功能
Dec 08 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
Mar 08 Python
Python3.x+pyqtgraph实现数据可视化教程
Mar 14 Python
用python写一个带有gui界面的密码生成器
Nov 06 Python
Django用户认证系统如何实现自定义
Nov 12 Python
Django-simple-captcha验证码包使用方法详解
Nov 28 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
Mar 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
php判断两个浮点数是否相等的方法
2015/03/14 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
php四种定界符详解
2017/02/16 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
PHP反射实际应用示例
2019/04/03 PHP
Display SQL Server Login Mode
2007/06/21 Javascript
Javascript 刷新全集常用代码
2009/11/22 Javascript
js实现动态改变字体大小代码
2014/01/02 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
jQuery中ready事件用法实例
2015/01/19 Javascript
jscript读写二进制文件的方法
2015/04/22 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
如何使用jquery实现文字上下滚动效果
2016/10/12 Javascript
JS基于贪心算法解决背包问题示例
2017/11/27 Javascript
uni-app如何实现增量更新功能
2020/01/03 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
2020/10/29 Javascript
Python运用于数据分析的简单教程
2015/03/27 Python
python 循环while和for in简单实例
2016/08/16 Python
Python 专题一 函数的基础知识
2017/03/16 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
PYTHON如何读取和写入EXCEL里面的数据
2019/10/28 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
python中selenium库的基本使用详解
2020/07/31 Python
使用Python爬虫爬取小红书完完整整的全过程
2021/01/19 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
党建示范点实施方案
2014/03/12 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
篮球社团活动总结
2014/06/27 职场文书
2014年医院十一国庆节活动方案
2014/09/15 职场文书
党支部工作总结2015
2015/04/01 职场文书
党员违纪检讨书
2015/05/05 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书
Java基础之this关键字的使用
2021/06/30 Java/Android
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis
Python字符串的转义字符
2022/04/07 Python