代码
import cv2
import os
def getJPEGFromVideo(video_path_,out_dir_):
"""从视频中抽取帧保存为jpeg图像
"""
cap = cv2.VideoCapture(video_path_)
fps = cap.get(cv2.CAP_PROP_FPS)
num_frame = cap.get(cv2.CAP_PROP_FRAME_COUNT)
print('fps = ',fps)
print('number of frames: ',num_frame)
length = len(str(int(num_frame)))
if not os.path.exists(out_dir_):
os.mkdir(out_dir_)
cnt = 0
while(cap.isOpened()):
ret,frame = cap.read()
if ret:
"""说明读取视频成功"""
filename = f'{cnt:0{length}}.jpg'
save_path = os.path.join(out_dir_,filename)
cv2.imwrite(save_path,frame)
cnt +=1
else:
print(f'cnt = {cnt}')
break
if __name__ == '__main__':
getJPEGFromVideo("20230301_142722.mp4","jpegs")
pass
结果