溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python怎么將圖片生成視頻MP4

發(fā)布時間:2023-03-25 14:02:00 來源:億速云 閱讀:125 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“python怎么將圖片生成視頻MP4”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“python怎么將圖片生成視頻MP4”吧!

    python圖片生成視頻MP4

    import os
    import cv2
    
    # 要被合成的多張圖片所在文件夾
    # 路徑分隔符最好使用“/”,而不是“\”,“\”本身有轉(zhuǎn)義的意思;或者“\\”也可以。
    # 因?yàn)槭俏募A,所以最后還要有一個“/”
    file_dir = 'C:/Users/YUXIAOYANG/Desktop/tset/'
    list = []
    for root ,dirs, files in os.walk(file_dir):
        for file in files:
            list.append(file)      # 獲取目錄下文件名列表
    
    # VideoWriter是cv2庫提供的視頻保存方法,將合成的視頻保存到該路徑中
    # 'MJPG'意思是支持jpg格式圖片
    # fps = 5代表視頻的幀頻為5,如果圖片不多,幀頻最好設(shè)置的小一點(diǎn)
    # (1280,720)是生成的視頻像素1280*720,一般要與所使用的圖片像素大小一致,否則生成的視頻無法播放
    # 定義保存視頻目錄名稱和壓縮格式,像素為1280*720
    video = cv2.VideoWriter('C:/Users/YUXIAOYANG/Desktop/test.mp4',cv2.VideoWriter_fourcc('m', 'p', '4', 'v'),5,(1981,991))
    
    for i in range(1,len(list)):
        img = cv2.imread('C:/Users/YUXIAOYANG/Desktop/tset/'+list[i-1]) #讀取圖片
        print(img.shape)
        #img = cv2.resize(img,(1981,991)) #將圖片轉(zhuǎn)換為1280*720像素大小
        video.write(img) # 寫入視頻
        
    # 釋放資源
    video.release()

    python圖片與視頻互轉(zhuǎn)(親測有效)

    圖片轉(zhuǎn)視頻

    1.任務(wù)需求背景

    在標(biāo)注數(shù)據(jù)的過程中,需要【反復(fù)】瀏覽大量圖片(萬張以上的數(shù)量級),確認(rèn)圖片中的目標(biāo)類別以及室內(nèi)戶型布局。

    但是,在電腦上瀏覽圖片有很大的不足:(a)需要持續(xù)點(diǎn)擊鼠標(biāo)或者鍵盤;(b)圖片加載跟不上點(diǎn)擊速度。 

    值得注意的是:網(wǎng)上有很多代碼(圖片轉(zhuǎn)視頻),但是真正能用的幾乎很少,本博文的代碼經(jīng)過測試,可以成功生成視頻。

    2.代碼依賴庫

    opencv-python==4.5.2
    numpy==1.19.2
    glob(python自帶模塊)

    3.代碼實(shí)戰(zhàn)

    基本步驟如下:

    • a. 使用glob獲取路徑下的所有圖片;  

    • b. cv2.imread()讀取所有圖片;  

    • c. 將讀取的圖片存儲在新的列表中,img_array;  

    • d. 使用cv2.VideoWriter()創(chuàng)建VideoWriter對象,注意參數(shù)的設(shè)置;  

    • e. 使用cv2.VideoWriter().write()保存 img_array 中的每一幀圖像到視頻文件;  

    • f. 釋放 VideoWriter對象;

    import cv2
    import numpy as np
    import glob
    import os
    
    # 其它格式的圖片也可以
    img_array = []
    for filename in glob.glob('E:/3DS1Data/20211118/29984CRL30V00067087/dataset/rgb/*.png'):
        img = cv2.imread(filename)
        height, width, layers = img.shape
        size = (width, height)
        img_array.append(img)
    
    # avi:視頻類型,mp4也可以
    # cv2.VideoWriter_fourcc(*'DIVX'):編碼格式
    # 5:視頻幀率
    # size:視頻中圖片大小
    out = cv2.VideoWriter('E:/3DS1Data/20211118/29984CRL30V00067087/dataset/project-all.avi',
                          cv2.VideoWriter_fourcc(*'DIVX'),
                          5, size)
    
    for i in range(len(img_array)):
        out.write(img_array[i])
    out.release()

    注意事項(xiàng)

    通過測試發(fā)現(xiàn),Mp4格式的視頻清晰度低于 Avi 視頻的清晰度。

    到此,相信大家對“python怎么將圖片生成視頻MP4”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI