Python实现图片与视频互转代码实战(亲测有效)
作者:X_Imagine
图片转视频,视频转图片手机一操作,立马转换过来,那么基于代码是如何操作的呢?下面小编给大家带来了Python实现图片与视频互转代码实战,感兴趣的朋友跟随小编一起看看吧
一、 图片转视频
任务需求背景
在标注数据的过程中,需要【反复】浏览大量图片(万张以上的数量级),确认图片中的目标类别以及室内户型布局。但是,在电脑上浏览图片有很大的不足:(a)需要持续点击鼠标或者键盘;(b)图片加载跟不上点击速度。
值得注意的是:网上有很多代码(图片转视频),但是真正能用的几乎很少,本博文的代码经过测试,可以成功生成视频。
代码依赖库
opencv-python==4.5.2
numpy==1.19.2
glob(python自带模块)
代码实战
基本步骤如下:
a. 使用glob
获取路径下的所有图片;
b.cv2.imread()
读取所有图片;
c. 将读取的图片存于列表中;
d. 使用cv2.VideoWriter()
创建VideoWriter
对象,注意参数的设置;
e. 使用cv2.VideoWriter().write()
保存每一帧图像到视频文件;
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()
下图是原始图片数据:
生成的视频文件(播放中):
到此这篇关于Python实现图片与视频互转代码实战(亲测有效)的文章就介绍到这了,更多相关Python图片与视频互转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!