实现代码如下,
import os
import sys
import cv2
import time
video_file = sys.argv[1]
if len(video_file) == 0:
print('video_file is empty, check input parameter please.')
sys.exit(0)
if not os.path.exists(video_file):
print('video_file not exists, check input parameter please.')
sys.exit(0)
vc = cv2.VideoCapture(video_file)
if vc.isOpened():
rval, frame = vc.read()
else:
rval = False
str_video_filename = ''
if video_file.rfind('/') == -1:
str_video_filename = video_file.split('.')[0]
else:
str_video_filename = video_file[video_file.rfind('/') + 1 : video_file.rfind('.')]
if len(str_video_filename) == 0:
print('video_file is empty, check input parameter please.')
sys.exit(0)
#print(str_video_filename)
#time.sleep(3)
if not os.path.exists('../images'):
os.makedirs('../images/%s'%str_video_filename)
else:
if not os.path.exists('../images/%s'%str_video_filename):
os.mkdir('../images/%s'%str_video_filename)
nFrameNum = 0
while rval:
rval, frame = vc.read()
str_frame_num = '%04d' % nFrameNum;
str_jpg = '../images/{0}/{0}_{1}.jpg'.format(str_video_filename, str_frame_num)
#print(str_jpg)
#print(frame)
cv2.imwrite(str_jpg, frame)
cv2.waitKey(1)
nFrameNum += 1
vc.release()
参考:
https://blog.csdn.net/a486259/article/details/84787288
https://blog.csdn.net/qq_38214193/article/details/80997924
待更新