python opencv 读取文件夹下所有MP4文件并解析成jpg图像

你可以使用Python的OpenCV库来读取文件夹中的所有MP4文件,并将其解析为JPG图像。以下是一个示例代码,演示了如何实现这个功能,并设置解析间隔为3帧:

python 复制代码
import os
import cv2

def extract_frames(input_folder, output_folder, interval):
    # 遍历输入文件夹中的所有文件
    for filename in os.listdir(input_folder):
        if filename.endswith(".mp4"):
            file_path = os.path.join(input_folder, filename)
            output_subfolder = os.path.join(output_folder, os.path.splitext(filename)[0])
            os.makedirs(output_subfolder, exist_ok=True)

            # 打开视频文件
            cap = cv2.VideoCapture(file_path)
            frame_count = 0

            while cap.isOpened():
                ret, frame = cap.read()
                if not ret:
                    break

                # 按照设定的间隔保存帧
                if frame_count % interval == 0:
                    output_filename = os.path.join(output_subfolder, f"frame_{frame_count}.jpg")
                    cv2.imwrite(output_filename, frame)

                frame_count += 1

            cap.release()

# 设置输入文件夹路径、输出文件夹路径和解析间隔
input_folder = "path/to/input/folder"
output_folder = "path/to/output/folder"
interval = 3

# 调用函数进行帧解析
extract_frames(input_folder, output_folder, interval)

请确保你已经安装了OpenCV库(可以使用pip install opencv-python进行安装)。将代码中的"path/to/input/folder"替换为包含MP4文件的实际输入文件夹的路径,将"path/to/output/folder"替换为希望保存JPG图像的实际输出文件夹的路径。

这段代码会遍历输入文件夹中的所有MP4文件,并将每个文件解析为JPG图像。解析间隔由interval变量控制,这里设置为3,表示每隔3帧解析一帧。解析后的图像将保存在输出文件夹中,每个MP4文件会在输出文件夹中创建一个子文件夹,其中包含解析后的JPG图像。图像文件名以"frame_"开头,后面跟随帧的索引号。

请注意,解析视频帧可能需要一些时间,具体取决于视频的帧率和长度。

相关推荐
AOwhisky5 分钟前
Python 基础语法(上篇 + 下篇)——综合自测题
linux·windows·python
埃博拉酱34 分钟前
Pip/Conda 混用导致的 CRT 版本冲突问题:[WinError 1114] 动态链接库(DLL)初始化例程失败
windows·python
刘小八35 分钟前
LangGraph 人机交互实战:Interrupt、人工审批与工作流恢复
人工智能·python·人机交互
YMWM_43 分钟前
python-venv虚拟环境
linux·开发语言·python
Tbisnic1 小时前
23.大模型开发:深度学习----CNN 卷积神经网络 与 RNN 循环神经网络
人工智能·python·rnn·深度学习·cnn·ai大模型
CoderYanger2 小时前
视频切割脚本(Python版)
linux·开发语言·windows·后端·python·程序人生·职场和发展
迷途呀2 小时前
新闻头条后端:新闻缓存模块
前端·redis·python·缓存·fastapi
想会飞的蒲公英2 小时前
逻辑回归为什么叫回归,却用来做分类
人工智能·python·分类·回归·逻辑回归
CoderYanger2 小时前
视频裁剪+缩放+自动添加水印脚本(Python版)
开发语言·后端·python·程序人生·职场和发展·音视频·学习方法
霍格沃兹测试开发学社测试人社区2 小时前
Node.js 浏览器引擎 + Python 大脑:Playwright 混合架构爬虫系统深度解析
python·架构·node.js