利用python-opencv抽取视频的一帧然后储存起来
video_path = your_path
videoCapture = cv2.VideoCapture(video_path) # 从文件读取视频
video_height = int(my_capture.get(cv2.CAP_PROP_FRAME_HEIGHT)) # 视频的高 单位:像素点
video_width = int(my_capture.get(cv2.CAP_PROP_FRAME_WIDTH)) # 视频的宽 单位:像素点
total_frame = int(my_capture.get(cv2.CAP_PROP_FRAME_COUNT)) # 视频的总帧数
fps = my_capture.get(cv2.CAP_PROP_FPS) # 视频的帧率
success, frame = videoCapture.read()
# 截取画面,也可以不指定截图范围,直接使用frame默认全屏
frame = frame[0:video_height, 0:video_width]
cv2.imencode('.jpg', frame)[1].tofile('test.jpg') # 保存为jpg文件
videoCapture.release()
videoCapture.read()
方法可以读取视频的一帧,目前还不清楚读取某个时间段帧数的方法。可以利用for循环或者while循环的办法读完视频的所有帧数。如果确实需要某个时间的帧,理论上可以用帧率和总帧数来算。
[文章导入自 http://qzq-go.notion.site/419d50baafe848378255b8aa6fb403ca 访问原文获取高清图片]