小编给大家分享一下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_h4.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怎么实现将视频按帧读取到自定义目录”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。