从视频文件夹中每个视频中提取一帧并保存至指定文件夹【帧的名字与视频相同】


import cv2
import os

# 设置视频文件路径
videos_path = "xxx"

# 设置保存帧的文件夹路径
frames_path = "xxxx"

# 获取视频列表

import cv2
import os



# 获取视频列表
videos = os.listdir(videos_path)

# 遍历视频列表
for video in videos:
    # 设置视频文件路径
    video_path = os.path.join(videos_path, video)

    # 获取视频名称,用于设置帧的前缀
    video_name = os.path.splitext(video)[0]

    # 创建视频对象
    cap = cv2.VideoCapture(video_path)

    # 获取视频帧率
    fps = cap.get(cv2.CAP_PROP_FPS)

    # 设置保存帧的计数器
    frame_count = 1

    # 循环读取视频帧
    while True:
        # 读取一帧
        ret, frame = cap.read()

        # 判断是否读取成功
        if not ret:
            break

        # 设置保存帧的文件名
        frame_name = "{}.jpg".format(video_name)

        # 设置保存帧的文件路径
        frame_path = os.path.join(frames_path, frame_name)

        # 保存帧
        cv2.imwrite(frame_path, frame)

        # 更新保存帧的计数器
        frame_count += 1

    # 释放视频对象
    cap.release()

猜你喜欢

转载自blog.csdn.net/qq_43663979/article/details/129967074