您好,登錄后才能下訂單哦!
本篇內容主要講解“python怎么將圖片生成視頻MP4”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python怎么將圖片生成視頻MP4”吧!
import os import cv2 # 要被合成的多張圖片所在文件夾 # 路徑分隔符最好使用“/”,而不是“\”,“\”本身有轉義的意思;或者“\\”也可以。 # 因為是文件夾,所以最后還要有一個“/” 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,如果圖片不多,幀頻最好設置的小一點 # (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)) #將圖片轉換為1280*720像素大小 video.write(img) # 寫入視頻 # 釋放資源 video.release()
1.任務需求背景
在標注數據的過程中,需要【反復】瀏覽大量圖片(萬張以上的數量級),確認圖片中的目標類別以及室內戶型布局。
但是,在電腦上瀏覽圖片有很大的不足:(a)需要持續點擊鼠標或者鍵盤;(b)圖片加載跟不上點擊速度。
值得注意的是:網上有很多代碼(圖片轉視頻),但是真正能用的幾乎很少,本博文的代碼經過測試,可以成功生成視頻。
2.代碼依賴庫
opencv-python==4.5.2 numpy==1.19.2 glob(python自帶模塊)
3.代碼實戰
基本步驟如下:
a. 使用glob
獲取路徑下的所有圖片;  
b. cv2.imread()
讀取所有圖片;  
c. 將讀取的圖片存儲在新的列表中,img_array
;  
d. 使用cv2.VideoWriter()
創建VideoWriter
對象,注意參數的設置;  
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()
注意事項
通過測試發現,Mp4格式的視頻清晰度低于 Avi 視頻的清晰度。
到此,相信大家對“python怎么將圖片生成視頻MP4”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。