python实现将视频按帧读取到自定义目录

yipeiwu_com5年前Python基础

如题,首先读取视频路径,其次根据视频名称创建对应的文件夹,再逐帧将视频帧读入。

import cv2
import argparse
import sys
import os
parser = argparse.ArgumentParser(description='tranfer the vedio to img.')
parser.add_argument('-m', '--mode', choices=['folder', 'url'], default='folder')
parser.add_argument('-p', '--path', help='Specify a path [e.g. testModel]', default='E:\DATA\pose_h3.6m\S5\Videos')
parser.add_argument('-pimg', '--imgpath', help='Specify a path [e.g. testModel]', default='F:\pythonprogram\multi_task\img\S5')
args = parser.parse_args(sys.argv[1:])
 
if args.mode == 'folder':
  #get video
  withPath = lambda f: '{}/{}'.format(args.path,f)
  video = dict((f,cv2.imread(withPath(f))) for f in os.listdir(args.path) if os.path.isfile(withPath(f)))
for key,val in video.items():
  fram_video = '{}/{}'.format(args.path,key)
  act_cam=key[:-4]
  vc=cv2.VideoCapture('{}\{}'.format(args.path,key))
  c = 1
  # camera
  # print('{}\{}\{}.jpg'.format(args.imgpath, act_cam,str(c)))
  path = '{}\{}'.format(args.imgpath, act_cam)
  isExists = os.path.exists(path)
  if not isExists:
    os.makedirs(path)
  if vc.isOpened():
    rval, frame = vc.read()
  else:
    rval = False
  while rval:
    rval, frame = vc.read()
    cv2.imwrite('{}\\{}\\{}.jpg'.format(args.imgpath, act_cam,str(c)),frame)
  #   cv2.imwrite('C:\\Users\\65183\\Desktop\\test\\fuck\\'+str(c)+'.jpg', frame)
    c = c + 1
    cv2.waitKey(1)
  vc.release()

以上这篇python实现将视频按帧读取到自定义目录就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

从零学python系列之教你如何根据图片生成字符画

从零学python系列之教你如何根据图片生成字符画

说下思路吧: 原图->灰度->根据像素亮度-映射到指定的字符序列中->输出。字符越多,字符变化稠密。效果会更好。如果根据灰度图的像素亮度范围制作字符画,效果会更好。如果...

为什么str(float)在Python 3中比Python 2返回更多的数字

在Python 2.7中,一个float的repr返回最接近十七位数的十进制数;这足以精确地识别每个可能的IEEE浮点值.浮点数的str类似地工作,除了它将结果限制为12位数;对于大多数...

python3解析库BeautifulSoup4的安装配置与基本用法

前言 Beautiful Soup是python的一个HTML或XML的解析库,我们可以用它来方便的从网页中提取数据,它拥有强大的API和多样的解析方式。 Beautiful Soup的...

将python依赖包打包成window下可执行文件bat方式

1、 打开一个记事本,将需要安装的第三方python依赖包写入文件,比如:需要安装urllib3、flask、bs4三个python库(替换成你想要安装的库,每个库之间用空格隔开),输入...

Python smtplib实现发送邮件功能

本文实例为大家分享了Python smtplib发送邮件功能的具体代码,供大家参考,具体内容如下 解决之前版本的问题,下面为最新版 #!/usr/bin/env python #...