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


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

    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)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

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

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

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

  • 相关阅读:
    Matlab遗传算法工具箱——一个例子搞懂遗传算法
    js-函数式编程-monad-chain-mcompose-自动解嵌套
    【数据结构】二叉树的概述
    李飞飞:我更像物理学界的科学家,而不是工程师|深度学习崛起十年
    阿里云的99元服务器和腾讯云的88元云服务器选择哪个?怎么选?
    php+mysql幼儿园早教网站
    GP与LP的区别,有限责任、无限责任、无限连带责任
    Linux网络部分
    跨境物流美国专线的注意事项是哪些
    IIS 日志分析工具LogParser
  • 原文地址:https://blog.csdn.net/mao_hui_fei/article/details/134346834