• python将图片合并为视频


    # -*- coding: utf-8 -*-
    """
    Created on Sun Sep 25 21:51:56 2022
    
    @author: in
    """
    #图片合并为视频
    import cv2
    import os
    from natsort import ns, natsorted
    
    def Png_video(path,fps,ph_type):
        # path = r"D:\20240225-1k\transient\pngvideo" #修改路径(照片)
        ls=[]#存储照片的信息
        files  = os.listdir(path)#返回指定的文件夹包含的文件或文件夹的名字的列表。
        file_name = natsorted(files,alg=ns.PATH)#要加alg=ns.PATH参数才和windows系统名称排序一致
        num = 0
        for name in file_name:
            splitext = os.path.splitext(name)#使用 splitext 函数分割后缀与文件名
            # if  splitext[1] == '.png': #只保存png的图片,可对应修改
            if  splitext[1] == ph_type: #只保存png的图片,可对应修改
                fname = os.path.join(path, name)#将文件名和路径整合到一起
                num += 1
                print(num,"→",fname)
                ls.append(fname)
        print(f"共有{num}张照片待合并")
        
        
        # 视频控制
        # mage = cv2.imread('xxx.jpg')
        # size = image.shape
        # w = size[1] #宽度
        # h = size[0] #高度
        # print(ls[5])
        # fps = 30#控制快慢,越小越慢
        size = cv2.imread(ls[0]).shape[1::-1] #获取图像尺寸(宽度,高度)
        print(f"图片的像素→ 宽:{size[0]}像素、高:{size[1]}像素")#输出图像宽度、高度
        video_path = path+'\\'+"0result.mp4v"  #文件名可以修改
        videowriter = cv2.VideoWriter(video_path,-1, fps, size)
        
        
        for x in ls:
            img = cv2.imread(x)
            videowriter.write(img)
        videowriter.release()
        print(f'完成制作,已保存至{video_path}')
       
    if __name__ == '__main__':
        #仅修改此处,第一个参数为路径,第二个参数为视频帧率,第三个参数为图片类型,路径不允许要中文
        Png_video(r"D:\20240225-1k\transient\pngvideo", 30,".png")
    
    
    
    53 → D:\20240225-1k\transient\pngvideo\animation-2_0052.png
    54 → D:\20240225-1k\transient\pngvideo\animation-2_0053.png
    55 → D:\20240225-1k\transient\pngvideo\animation-2_0054.png
    56 → D:\20240225-1k\transient\pngvideo\animation-2_0055.png
    57 → D:\20240225-1k\transient\pngvideo\animation-2_0056.png
    58 → D:\20240225-1k\transient\pngvideo\animation-2_0057.png
    59 → D:\20240225-1k\transient\pngvideo\animation-2_0058.png
    60 → D:\20240225-1k\transient\pngvideo\animation-2_0059.png
    共有60张照片待合并
    图片的像素→ 宽:815像素、高:558像素
    完成制作,已保存至D:\20240225-1k\transient\pngvideo\0result.mp4v
    
    
    
    
  • 相关阅读:
    使用python调用ssh操作linux远程服务器办法
    python输出3位数的水仙花数
    阅读笔记——SSR-Net: A Compact Soft Stagewise Regression Network for Age Estimation
    在 Python 中使用 Selenium 按文本查找元素
    vue(十)——插槽slot
    Vue3 学习笔记 —— 生命周期
    Django请求的生命周期
    华为HCIP Datacom H12-831 卷24
    火狐浏览器翻译页面功能如何设置
    开源投票系统源码至尊版带礼物道具 无限多开 盈利模式超丰富
  • 原文地址:https://blog.csdn.net/weixin_43245453/article/details/127044910