zoukankan      html  css  js  c++  java
  • python--通过cv2多张图片生成视频

    1、安装cv
    pip install python-opencv

    2、使用

    # 图片合成视频
    def picvideo(path,size):
    # path = r'C:UsersAdministratorDesktop1huaixiao\'#文件路径
    filelist = os.listdir(path) #获取该目录下的所有文件名
    
    '''
    fps:
    帧率:1秒钟有n张图片写进去[控制一张图片停留5秒钟,那就是帧率为1,重复播放这张图片5次] 
    如果文件夹下有50张 534*300的图片,这里设置1秒钟播放5张,那么这个视频的时长就是10秒
    '''
    fps = 1
    # size = (591,705) #图片的分辨率片
    fourcc = cv2.VideoWriter_fourcc(*'XVID')
    #fourcc = cv2.VideoWriter_fourcc(*'MP4v')
    #VideoWriter = cv2.VideoWriter('a.avi', fourcc,fps, size)
    VideoWriter = cv2.VideoWriter('a.avi', fourcc,fps, size)
    
    for item in filelist:
    if item.endswith('.jpg'): #判断图片后缀是否是.png
    item = path + '/' + item
    # print(item)
    # im = Image.open(item)
    # print(im.format)
    # print(im.mode)
    # print(im.info)
    # break
    img = cv2.imread(item) #使用opencv读取图像,直接返回numpy.ndarray 对象,通道顺序为BGR ,注意是BGR,通道值默认范围0-255。
    img = cv2.resize(img,size) #重新设置尺寸,这里视频的尺寸要和图片的尺寸一致
    VideoWriter.write(img) #把图片写进视频
    
    #VideoWriter.release() #释放
    cv2.destroyAllWindows()
    
    if __name__ == "__main__":
    #test()
    #picvideo('/home/sun/Pictures/img',(1920, 1080))
    picvideo('/home/sun/go/src/go_scrapy/scrapy/img',(800, 1280))
    

      

    僵尸将臣
  • 相关阅读:
    使用xorm将结构体转为sql文件
    Java反射之方法反射demo
    Java操作Redis小案例
    Java中static修饰类的问题
    static、final修饰的变量和方法能否被继承的问题
    小学生算术
    另一种阶乘问题
    整除个数
    兰州烧饼
    对决
  • 原文地址:https://www.cnblogs.com/sunshenggang/p/11989443.html
Copyright © 2011-2022 走看看