图片合成视频

jupyter notebook 图片合成视频

import glob
import os
import cv2
import time
"""
图片合成视频
"""
from subprocess import call
#参数为文件路径,图片大小,目标路径
def imgs_to_video(srcPath,size,dstPath):
    fps =1#帧率
    #输出路径,只能输出.avi后缀的视频
    #ey
    out_path = dstPath+str(int(time.time()))+".avi"
    #编码格式"I","4","2","0" 对应avi格式
    fourcc = cv2.VideoWriter_fourcc("I","4","2","0")
    
    #视频写入的参数格式 返回VideoWriter类型的对象
    #输出视频全路径,编码方式,每秒视频的帧数,视频画面大小(需要与图片尺寸一致)
    #key
    video_writer =cv2.VideoWriter(out_path,fourcc,fps,size)
    # #读取路径下的所有文件
    #imgs = glob.glob(os.path.join(srcPath,'*.jpg'))
    #读取路径下的所有文件
    imgs =os.listdir(srcPath)
    #print(imgs)
    for filename in imgs:
        #图片的全路径
        srcFile = os.path.join(srcPath,filename)
        #读取文件,打开文件
        frame =cv2.imread(srcFile)
        #print(frame)
        #把图片写进视频
        video_writer.write(frame)
    #释放写操作
    video_writer.release()
    
    """
    视频压缩,需在电脑安装ffmpeg
    """
    dir =out_path.strip(".avi")
    command ="ffmpeg -i %s.avi %s.mp4"%(dir,dir)
    call(command.split())
    print("success")
#size根据图片分辨率设置
imgs_to_video("F:\jiujiang_picture",(3000,2000),"F:\jiujiang_picture")
  • package: glob 、os、cv2、 time
  • key;关键步骤和函数
  • fps = 设置帧率
  • 设置输出路径
  • 设置编码格式
  • 输出视频的全路径,编码方式,视频画面大小(需要与图片大小一致)
  • 读取图片路径下的全部文件
  • 读取文件打开文件
  • 打开每一张图片 : 把图片写进视频
  • .释放写操作
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值