将图片合成视频

该篇文章介绍了如何使用Python和OpenCV库将一组图片转换成视频,通过`read_picture`和`write_video`函数,以每秒20帧的速度,将图片按照文件名顺序合成AVI格式的视频。
摘要由CSDN通过智能技术生成

废话不多说,上代码!

# 把照片合成视频。

import os
import cv2
import uuid
from tqdm import tqdm

def read_picture(images_path):
    file_list = os.listdir(images_path) #图像list

    fps = 20 # 视频每秒20帧
    weight = 1920 # 图像宽高
    height = 1080 # 图像宽高
    size = (int(weight), int(height))  # 需要转为视频的图片的尺寸
    return [fps, size, file_list]


def write_video(images_path, save_video_path):
    fps, size, file_list = read_picture(images_path)
    # AVI格式编码输出 XVID
    four_cc = cv2.VideoWriter_fourcc(*'XVID')
    video_writer = cv2.VideoWriter(save_video_path, four_cc, float(fps), size)
    # 视频保存在当前目录下
    for item in tqdm(file_list, 'make video by images'):
        if item.endswith('.jpg'):
            text = str(item)
            item = images_path + '\\' + item
            img = cv2.imread(item)

            font = cv2.FONT_HERSHEY_SIMPLEX
            font_scale = 3
            color = (255, 255, 255)
            thickness = 2
            text_size, _ = cv2.getTextSize(text, font, font_scale, thickness)
            text_x = 10
            text_y = 10 + text_size[1]
            cv2.putText(img, text, (text_x, text_y), font, font_scale, color, thickness, cv2.LINE_AA)


            re_pics = cv2.resize(img, size, interpolation=cv2.INTER_CUBIC)  # 定尺寸
            if len(re_pics):
                video_writer.write(re_pics)

    video_writer.release()
    cv2.destroyAllWindows()


if __name__ == '__main__':
    # 图像地址
    images_path = '\\images'

    #视频保存路径
    save_video_path = 'video.avi'

    write_video(images_path, save_video_path)


  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值