如何使用Python将图片合成为视频文件(MP4)?

PHPz
发布: 2023-04-27 17:34:08
转载
4614人浏览过

    python图片生成视频MP4

    import os
    import cv2
    
    # 要被合成的多张图片所在文件夹
    # 路径分隔符最好使用“/”,而不是“”,“”本身有转义的意思;或者“\”也可以。
    # 因为是文件夹,所以最后还要有一个“/”
    file_dir = 'C:/Users/YUXIAOYANG/Desktop/tset/'
    list = []
    for root ,dirs, files in os.walk(file_dir):
        for file in files:
            list.append(file)      # 获取目录下文件名列表
    
    # VideoWriter是cv2库提供的视频保存方法,将合成的视频保存到该路径中
    # 'MJPG'意思是支持jpg格式图片
    # fps = 5代表视频的帧频为5,如果图片不多,帧频最好设置的小一点
    # (1280,720)是生成的视频像素1280*720,一般要与所使用的图片像素大小一致,否则生成的视频无法播放
    # 定义保存视频目录名称和压缩格式,像素为1280*720
    video = cv2.VideoWriter('C:/Users/YUXIAOYANG/Desktop/test.mp4',cv2.VideoWriter_fourcc('m', 'p', '4', 'v'),5,(1981,991))
    
    for i in range(1,len(list)):
        img = cv2.imread('C:/Users/YUXIAOYANG/Desktop/tset/'+list[i-1]) #读取图片
        print(img.shape)
        #img = cv2.resize(img,(1981,991)) #将图片转换为1280*720像素大小
        video.write(img) # 写入视频
        
    # 释放资源
    video.release()
    登录后复制

    python图片与视频互转(亲测有效)

    图片转视频

    1.任务需求背景

    在标注数据的过程中,需要【反复】浏览大量图片(万张以上的数量级),确认图片中的目标类别以及室内户型布局。

    但是,在电脑上浏览图片有很大的不足:(a)需要持续点击鼠标或者键盘;(b)图片加载跟不上点击速度。 

    值得注意的是:网上有很多代码(图片转视频),但是真正能用的几乎很少,本博文的代码经过测试,可以成功生成视频。

    2.代码依赖库

    立即学习Python免费学习笔记(深入)”;

    opencv-python==4.5.2
    numpy==1.19.2
    glob(python自带模块)
    登录后复制

    3.代码实战

    基本步骤如下:

    • a. 使用glob获取路径下的所有图片;  

      吉卜力风格图片在线生成
      吉卜力风格图片在线生成

      将图片转换为吉卜力艺术风格的作品

      吉卜力风格图片在线生成 121
      查看详情 吉卜力风格图片在线生成
    • b. cv2.imread()读取所有图片;  

    • c. 将读取的图片存储在新的列表中,img_array;  

    • d. 使用cv2.VideoWriter()创建VideoWriter对象,注意参数的设置;  

    • e. 使用cv2.VideoWriter().write()保存 img_array 中的每一帧图像到视频文件;  

    • f. 释放 VideoWriter对象;

    import cv2
    import numpy as np
    import glob
    import os
    
    # 其它格式的图片也可以
    img_array = []
    for filename in glob.glob('E:/3DS1Data/20211118/29984CRL30V00067087/dataset/rgb/*.png'):
        img = cv2.imread(filename)
        height, width, layers = img.shape
        size = (width, height)
        img_array.append(img)
    
    # avi:视频类型,mp4也可以
    # cv2.VideoWriter_fourcc(*'DIVX'):编码格式
    # 5:视频帧率
    # size:视频中图片大小
    out = cv2.VideoWriter('E:/3DS1Data/20211118/29984CRL30V00067087/dataset/project-all.avi',
                          cv2.VideoWriter_fourcc(*'DIVX'),
                          5, size)
    
    for i in range(len(img_array)):
        out.write(img_array[i])
    out.release()
    登录后复制

    注意事项

    通过测试发现,Mp4格式的视频清晰度低于 Avi 视频的清晰度。

    以上就是如何使用Python将图片合成为视频文件(MP4)?的详细内容,更多请关注php中文网其它相关文章!

    相关标签:
    python速学教程(入门到精通)
    python速学教程(入门到精通)

    python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载
    来源:亿速云网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    开源免费商场系统广告
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号