python如何将图片生成视频MP4

 更新时间:2023年03月25日 10:33:35   作者:初语之然  
这篇文章主要介绍了python如何将图片生成视频MP4问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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.代码依赖库

opencv-python==4.5.2
numpy==1.19.2
glob(python自带模块)

3.代码实战

基本步骤如下:

  • a. 使用glob获取路径下的所有图片;  
  • 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()

下图是原始图片数据:

生成的视频文件(播放中):

注意事项

(1)通过测试发现,Mp4格式的视频清晰度低于 Avi 视频的清晰度;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python中sorted()函数之排序的利器详解

    Python中sorted()函数之排序的利器详解

    sorted()函数是Python中的内置函数,用于对可迭代对象进行排序,下面这篇文章主要给大家介绍了关于Python中sorted()函数之排序的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • 10款最好的Python开发编辑器

    10款最好的Python开发编辑器

    这篇文章主要介绍了10款最好的Python开发编辑器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 手把手带你用Python实现一个计时器

    手把手带你用Python实现一个计时器

    虽然Python是一种有效的编程语言,但纯Python程序比C、Rust和Java等编译语言中的对应程序运行得更慢,为了更好地监控和优化Python程序,今天将为大家介绍如何使用 Python 计时器来监控程序运行的速度,以便正对性改善代码性能
    2022-06-06
  • Python Timer和TimerFPS计时工具类

    Python Timer和TimerFPS计时工具类

    这篇文章主要介绍了Python Timer和TimerFPS计时工具类,文章分享得代码内容详细,具有一的的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • python可视化 matplotlib画图使用colorbar工具自定义颜色

    python可视化 matplotlib画图使用colorbar工具自定义颜色

    这篇文章主要介绍了python可视化 matplotlib画图使用colorbar工具自定义颜色,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python实现的矩阵转置与矩阵相乘运算示例

    Python实现的矩阵转置与矩阵相乘运算示例

    这篇文章主要介绍了Python实现的矩阵转置与矩阵相乘运算,结合实例形式分析了Python针对矩阵进行转置与相乘运算的相关实现技巧与操作注意事项,需要的朋友可以参考下
    2019-03-03
  • Python随手笔记第一篇(2)之初识列表和元组

    Python随手笔记第一篇(2)之初识列表和元组

    Python中,列表和元组是一种数据结构:序列,序列中的每个元素都被分配一个序号,元素的位置,第一原元素的位置为0,因此类推,序列是最基本的数据结构,本文给大家分享Python随手笔记第一篇(2)之初识列表和元组,感兴趣的朋友一起学习吧
    2016-01-01
  • Python中random模块用法实例分析

    Python中random模块用法实例分析

    这篇文章主要介绍了Python中random模块用法,实例分析了Python中random模块的使用技巧及字符串操作相关方法,需要的朋友可以参考下
    2015-05-05
  • python中的变量与内存用法

    python中的变量与内存用法

    这篇文章主要介绍了python变量与内存用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 在PyCharm中找不到Conda创建的环境的解决方法

    在PyCharm中找不到Conda创建的环境的解决方法

    本文主要介绍了在PyCharm中找不到Conda创建的环境的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07

最新评论