基于opencv的视频抽帧

import cv2
import glob
import os
import gdalTools

def Video2Pic(videoPath, imgPath):
    cap = cv2.VideoCapture(videoPath)
    # fps = cap.get(cv2.CAP_PROP_FPS)  # 获取帧率
    # width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))  # 获取宽度
    # height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))  # 获取高度
    suc = cap.isOpened()  # 是否成功打开
    frame_count = 0
    baseName = os.path.basename(videoPath).split(".")[0]
    while suc:
        frame_count += 1
        suc, frame = cap.read()
        cv2.imwrite(os.path.join(imgPath, f"{baseName}_{str(frame_count).zfill(4)}.png"), frame)
        cv2.waitKey(1)
    cap.release()
    print("视频转图片结束!")


if __name__ == '__main__':
    videoPathList = glob.glob(r"D:\2022\3\medicalSeg\video\kidney\*.avi")
    imgPath = "../images"
    gdalTools.mkdir(imgPath)

    for videoPath in videoPathList:
        Video2Pic(videoPath, imgPath)


猜你喜欢

转载自blog.csdn.net/weixin_42990464/article/details/123274340