首页 > 技术文章 > 图片合成视频

Jack-Elvis 2019-06-04 09:55 原文

图片合成视频

用图片合成视频虽然原理与视频分解相反,但是存在一个编码器的问题。

将图片封装为视频时需要调用视频编码器

代码实现很简单,源代码如下:

 

import cv2
img = cv2.imread('image1.jpg')
imgInfo = img.shape
size = (imgInfo[1],imgInfo[0])
print(size)
videoWrite = cv2.VideoWriter('4.mp4',-1,24,size) # 写入对象  1. file name   2. 编码器  3. 帧率   4 .size
for i in range(1,60):
    fileName = 'image'+str(i)+'.jpg'
    img = cv2.imread(fileName)
    videoWrite.write(img)# 写入方法 1 jpg data
print('end!')

 

代码实现原理:

1.首先用cv2.imread读取一张图片

2.打印图片的像素信息

3.调用用cv2.VideoWrite函数定义图片写入视频的详细信息(写入文件名、编码器是-1、帧率24、视频像素)

4.videoWrite.write(img)开始写入

 

 

 

 

运行结果:

 

 

 

这里我是将视频分解图片时截取的前50张图片通过编码器合成的视频,

帧率为24理论上显示的时间应该为2秒左右。

视频截图如图所示:

 

 左下角显示时间为2秒,实验结束。。。

 

推荐阅读