python视频按帧截取图片工具

作者:剑峰随心 时间:2021-09-08 10:30:56 

本文实例为大家分享了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)

来源:https://www.cnblogs.com/bob-jianfeng/p/11140444.html

标签:python,视频,截取图片
0
投稿

猜你喜欢

  • Django 多环境配置详解

    2022-01-25 06:38:49
  • 巧用一条SQL 实现其它进制到十进制转换

    2009-01-19 13:16:00
  • python发送邮件实例分享

    2021-07-17 23:14:23
  • Python中的通函数numpy.ufunc详解

    2023-09-03 22:52:08
  • Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解

    2022-03-02 10:43:08
  • Windows安装Anaconda并且配置国内镜像的详细教程

    2023-07-06 13:45:15
  • Oracle 存储过程总结(一、基本应用)

    2009-07-07 10:21:00
  • sql2000如何完美压缩.mdf文件

    2010-03-03 15:47:00
  • TensorFlow实现卷积神经网络

    2022-05-21 02:17:02
  • python语言使用技巧分享

    2022-10-24 09:29:38
  • 如何利用python正确地为图像添加高斯噪声

    2023-08-03 08:26:22
  • Python3使用requests发闪存的方法

    2021-06-09 16:07:20
  • css基础教程布局篇之一

    2008-07-31 17:21:00
  • Mysql入门系列:优化MYSQL服务器

    2008-11-24 13:25:00
  • 关于 Python json中load和loads区别

    2021-04-24 20:30:51
  • 一个小时内学习 SQLite 数据库

    2012-05-22 18:51:30
  • Python构建自动在线刷视频的实现

    2021-12-17 15:53:37
  • SQL Server 2005 SP3正式版下载

    2008-12-16 12:42:00
  • python实现BP神经网络回归预测模型

    2023-01-21 17:53:44
  • Python pandas实现excel工作表合并功能详解

    2021-05-23 01:33:40
  • asp之家 网络编程 m.aspxhome.com