方法一:
import cv2 vidcap = cv2.VideoCapture('C:\\Users\\1D\\Desktop\\videos\\2020-04-10 001624.mov')#文件路径 success,image = vidcap.read() fps = int(vidcap.get(cv2.CAP_PROP_FPS))#每秒有多少帧 count = 0 while success: if count % fps == 0:#此时是每秒取一帧 cv2.imwrite("C:\\Users\\1D\\Desktop\\images/%d.jpg" % int(count / fps), image) print('Process %dth seconds: ' % int(count / fps), success) success,image = vidcap.read() count += 1
方法二:
import cv2 def readImg(path): cap = cv2.VideoCapture(path) flag = cap.isOpened() frame_count = 0 while(flag): frame_count = frame_count + 1 flag,frame = cap.read() #cv2.imwrite('../data_frame/%d.jpg' % frame_count, frame, params) if frame_count % 5 == 0 :#此时为每5帧取一张 cv2.imwrite('C:\\Users\\1D\\Desktop\\images/%d.jpg' % int(frame_count/5), frame)#路径为图片即将放入的位置 cap.release() print('frame_number: ', frame_count) #视频的路径 path = "C:\\Users\\1D\\Desktop\\videos\\2020-04-10 001624.mov" readImg(path)