opencv 视频转图片抽帧保存

import numpy as np
import cv2
from glob import glob

j = 0 # 图片数量

def savepic(videopath):
    global j
    k = 100 # 每10帧保存一次
    i = 1 # 帧数
    cap = cv2.VideoCapture(videopath)
    while (cap.isOpened()):
        ret, frame = cap.read()
        if ret is False:break
        # frame = cv2.flip(frame, 1) #1为正常,0为倒置,也就是旋转180度。
        if i%k==0:
            cv2.imwrite("images/%s.jpg"%j,frame)
            j+=1
        cv2.imshow('frame', frame)
        if cv2.waitKey(1) & 0xFF == 27:
            break
        i+=1

for videopath in  glob("videos/*.mp4"):
    savepic(videopath)

        
cv2.destroyAllWindows()

猜你喜欢

转载自blog.csdn.net/qq_26696715/article/details/128664994