import os
import uuid
import glob
from random import random
import cv2 as cv
def mkdir(path):
is_exits = os.path.exists(path)
if not is_exits:
os.makedirs(path)
def cap2jpg(cap_path, save_path, ratio=0.):
count = 0
cap = cv.VideoCapture(cap_path)
while True:
ret, frame = cap.read()
if ret:
if random() < ratio:
file_path = os.path.join(save_path, uuid.uuid4().hex+'.jpg')
cv.imwrite(file_path, frame)
count += 1
print(f"第{count}张,{file_path}")
else:
break
cap.release()
return count
def main():
img_save_path = "./data/images"
video_path = "./data/video/IMG_0289.MOV"
mkdir(img_save_path)
count = cap2jpg(video_path, img_save_path, ratio=0.3)
print(f"{count}张图片已保存到{img_save_path}")
if __name__ == '__main__':
main()