以下是利用OpenCV对采集到的视频以每秒10帧进行截取,将截取到的图片保存至相应文件夹中的Python代码:

import cv2
import os

# 打开视频文件
cap = cv2.VideoCapture('test.mp4')

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

# 设置每秒截取的帧数
frame_interval = int(fps / 10)

# 创建保存帧的文件夹
if not os.path.exists('frames'):
    os.makedirs('frames')

# 初始化帧计数器
frame_count = 0

while True:
    # 读取一帧图像
    ret, frame = cap.read()

    if not ret:
        break

    # 每隔 frame_interval 帧保存一次
    if frame_count % frame_interval == 0:
        # 生成保存帧的文件名
        filename = 'frames/frame{:04d}.jpg'.format(frame_count // frame_interval)

        # 保存帧到文件
        cv2.imwrite(filename, frame)

    # 更新帧计数器
    frame_count += 1

# 关闭视频文件
cap.release()

上述代码中,我们首先打开视频文件并获取其帧率。然后设置每秒截取的帧数(这里设置为 10 帧),并创建保存帧的文件夹。接着进入循环,每次读取一帧图像并判断是否到达了截取的时间点。如果是,则生成保存帧的文件名,并将帧保存到文件中。最后更新帧计数器并关闭视频文件。

在运行上述代码前,请确保已经安装了OpenCV库。另外,需要将视频文件命名为'test.mp4'并与Python代码放在同一目录下。截取的帧将被保存在名为'frames'的文件夹中。

Python OpenCV 视频帧截取:每秒10帧保存图片

原文地址: https://www.cveoy.top/t/topic/nzay 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录