+
95
-

回答

opencv可以实现,代码如下:

import os
import cv2

# 要被合成的多张图片所在文件夹
# 路径分隔符最好使用“/”,而不是“”,“”本身有转义的意思;或者“\”也可以。
# 因为是文件夹,所以最后还要有一个“/”
file_dir = '/data/wwwroot/default/asset/img/'
list = []
for root ,dirs, files in os.walk(file_dir):
for file in files:
list.append(file) # 获取目录下文件名列表

# VideoWriter是cv2库提供的视频保存方法,将合成的视频保存到该路径中
# 'MJPG'意思是支持jpg格式图片
# fps = 5代表视频的帧频为2,如果图片不多,帧频最好设置的小一点
# (1280,720)是生成的视频像素1280*720,一般要与所使用的图片像素大小一致,否则生成的视频无法播放
# 定义保存视频目录名称和压缩格式,像素为1280*720
video = cv2.VideoWriter('/data/wwwroot/default/Data/testvideo.avi',cv2.VideoWriter_fourcc(*'MJPG'),2,(1280,720))

for i in range(1,len(list)):
#读取图片
img = cv2.imread(file_dir+list[i-1])

# resize方法是cv2库提供的更改像素大小的方法
# 将图片转换为1280*720像素大小
img = cv2.resize(img,(1280,720))
# 写入视频
video.write(img)

# 释放资源
video.release()


网友回复

我知道答案,我要回答