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

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

相关推荐
像风一样的男人@2 分钟前
python --货车装厢问题
开发语言·python
Y1nhl12 分钟前
力扣_链表_python版本
开发语言·python·算法·leetcode·链表·职场和发展
qianbo_insist1 小时前
c++ python 共享内存
开发语言·c++·python
凌览2 小时前
有了 25k Star 的MediaCrawler爬虫库加持,三分钟搞定某红书、某音等平台爬取!
前端·后端·python
这里有鱼汤2 小时前
给你的DeepSeek装上实时行情,让他帮你炒股
后端·python·mcp
Tomorrow'sThinker2 小时前
[特殊字符] Excel 读取收件人 + Outlook 批量发送带附件邮件 —— Python 自动化实战
python·excel·outlook
JosieBook3 小时前
【Java编程动手学】Java常用工具类
java·python·mysql
灵智工坊LingzhiAI5 小时前
人体坐姿检测系统项目教程(YOLO11+PyTorch+可视化)
人工智能·pytorch·python
彭祥.12 小时前
Jetson边缘计算主板:Ubuntu 环境配置 CUDA 与 cudNN 推理环境 + OpenCV 与 C++ 进行目标分类
c++·opencv·分类
烛阴13 小时前
简单入门Python装饰器
前端·python