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_"开头,后面跟随帧的索引号。

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

相关推荐
叫我:松哥25 分钟前
基于大数据和深度学习的智能空气质量监测与预测平台,采用Spark数据预处理,利用TensorFlow构建LSTM深度学习模型
大数据·python·深度学习·机器学习·spark·flask·lstm
吃茄子的猫7 小时前
quecpython中&的具体含义和使用场景
开发语言·python
じ☆冷颜〃7 小时前
黎曼几何驱动的算法与系统设计:理论、实践与跨领域应用
笔记·python·深度学习·网络协议·算法·机器学习
数据大魔方7 小时前
【期货量化实战】日内动量策略:顺势而为的短线交易法(Python源码)
开发语言·数据库·python·mysql·算法·github·程序员创富
APIshop7 小时前
Python 爬虫获取 item_get_web —— 淘宝商品 SKU、详情图、券后价全流程解析
前端·爬虫·python
风送雨7 小时前
FastMCP 2.0 服务端开发教学文档(下)
服务器·前端·网络·人工智能·python·ai
效率客栈老秦8 小时前
Python Trae提示词开发实战(8):数据采集与清洗一体化方案让效率提升10倍
人工智能·python·ai·提示词·trae
哈里谢顿8 小时前
一条 Python 语句在 C 扩展里到底怎么跑
python
znhy_238 小时前
day46打卡
python
Edward.W9 小时前
Python uv:新一代Python包管理工具,彻底改变开发体验
开发语言·python·uv