python如何将图片生成视频MP4
作者:初语之然 时间:2023-10-19 09:25:37
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 视频的清晰度;
来源:https://blog.csdn.net/weixin_44769034/article/details/125596482
标签:python,图片,生成,视频MP4
0
投稿
猜你喜欢
javascript面向对象编程(二)
2008-03-07 12:59:00
如何利用SQL Server数据库快照形成报表
2009-01-15 11:55:00
javascript使用location.search的示例
2023-07-16 09:14:40
python中multiprosessing模块的Pool类中的apply函数和apply_async函数的区别
2023-03-21 20:23:37
Python PaddleNLP开源实现快递单信息抽取
2023-01-21 04:35:11
python类参数self使用示例
2023-05-27 17:15:18
MySQL旧版本升级为新版本
2009-02-26 15:44:00
php面象对象数据库操作类实例
2023-10-13 22:33:05
基于Go语言实现分金币游戏
2023-06-22 06:49:28
pycharm 复制代码出现空格的解决方式
2023-08-27 12:36:37
Oracle不同数据库间对比分析脚本
2010-07-26 13:24:00
Python内建模块struct实例详解
2022-07-06 02:10:18
python在windows调用svn-pysvn的实现
2022-03-15 05:13:48
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
2023-09-20 17:59:32
[翻译]标记语言和样式手册 Chapter 12 CSS布局
2008-02-13 14:19:00
Python解决pip install时出现的Could not fetch URL问题
2023-08-01 14:24:45
python3.x zip用法小结
2023-08-13 05:25:05
python编程matplotlib交互绘制Julia集示例解析
2021-07-31 17:14:45
JS中ESModule和commonjs介绍及使用区别
2023-10-20 22:23:51
Pygame实战之实现经典外星人游戏
2021-05-10 00:31:44