python图片生成视频MP4
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
|
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.代码依赖库
1
2
3
|
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
对象;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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