可将一段视频转为图片帧,保存在文件夹内,注意需要修改视频路径、文件夹路径、抽取帧数频率、图片命名起点
'''
功能:将视频逐帧抽取,在文件夹中保存为图片,可设置间隔帧数进行抽取,可设置图片名
'''
import cv2
def video2images(Video_Dir):
cap = cv2.VideoCapture(Video_Dir)
c = 1 # 帧数起点
index = 1 # 图片命名起点,如1.jpg
if not cap.isOpened():
print("Cannot open camera")
exit()
while True:
# 逐帧捕获
ret, frame = cap.read()
# 如果正确读取帧,ret为True
if not ret:
print("Can't receive frame.")
break
# 设置每5帧取一次图片,若想逐帧抽取图片,可设置c % 1 == 0
if c % 5 == 0:
# 图片存放路径,即图片文件夹路径
cv2.imwrite('D:/mymodel/dataset/data/' + str(index) + '.jpg', frame)
index += 1
c += 1
cv2.waitKey(1)
# 按键停止
if cv2.waitKey(1) == ord('q'):
break
cap.release()
Video_Dir = "D:mymodeldatasetdata.mp4" # 视频存放路径
video2images(Video_Dir)



