jpg图像转MP4

代码如下;

import numpy as np
import cv2
import os

# 1.每张图像大小
size = (640, 512)
print("每张图片的大小为({},{})".format(size[0], size[1]))
# 2.设置源路径与保存路径
src_path = r'E:\\data\\1\\22\\underground\\rgb'
sav_path = r'E:\\data\\1\\22\\underground\\mp4\\1.mp4'
# 3.获取图片总的个数
all_files = os.listdir(src_path)
index = len(all_files)
print("图片总数为:" + str(index) + "张")
# 4.设置视频写入器
fourcc = cv2.VideoWriter_fourcc(*'mp4v')  # MP4格式
# 完成写入对象的创建,第一个参数是合成之后的视频的名称,第二个参数是可以使用的编码器,第三个参数是帧率即每秒钟展示多少张图片,第四个参数是图片大小信息
videowrite = cv2.VideoWriter(sav_path, fourcc, 25, size)  # 2是每秒的帧数,size是图片尺寸
# 5.临时存放图片的数组
img_array = []

path_photo = 'E:\\data\\1\\22\\underground\\rgb' # 所有photo所在的文件夹目录
files_list = os.listdir(path_photo) # 得到文件夹下的所有文件名称,存在字符串列表中

# 6.读取所有jpg格式的图片 (这里图片命名是0-index.jpg example: 0.jpg 1.jpg ...)
for filename in files_list:
    img = cv2.imread('E:\\data\\1\\22\\underground\\rgb\\'+filename)
    if img is None:
        print('E:\\data\\1\\22\\underground\\rgb\\' + filename + " is error!")
        continue
    img_array.append(img)
# 7.合成视频
for i in range(0, index):
    img_array[i] = cv2.resize(img_array[i], (640, 512))
    videowrite.write(img_array[i])
    print('第{}张图片合成成功'.format(i))
print('------done!!!-------')

猜你喜欢

转载自blog.csdn.net/weixin_43151193/article/details/130338509