您好,登錄后才能下訂單哦!
使用python-cv2如何實現視頻的分解與合成?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1.視頻分解圖片
我們使用cv2.VideoCapture來讀取視頻
import cv2 cap = cv2.VideoCapture('1.mp4') isOpened = cap.isOpened # 判斷視頻是否可讀 print(isOpened) fps = cap.get(cv2.CAP_PROP_FPS) # 獲取圖像的幀,即該視頻每秒有多少張圖片 width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) # 獲取圖像的寬度和高度 height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) print(fps, width, height) i = 0 while(isOpened): if i == 10: break # 讀取每一幀,falg表示是否讀取成功,frame為圖片的內容 (flag, frame) = cap.read() filename = 'img' + str(i) + '.jpg' # 文件的名字 if flag: cv2.imwrite(filename, frame, [cv2.IMWRITE_JPEG_QUALITY,100]) # 保存圖片 i += 1
2.圖片合成視頻
我們使用cv2.VideoWrite方法來創建一個video寫入器
用cv2.VideoWriter_fourcc創建視頻編解碼器
要創建mp4類型的視頻文件,視頻編解碼器為cv2.VideoWriter_fourcc('M', 'J', 'P', 'G')
import cv2 img = cv2.imread('img0.jpg') width = img.shape[0] height = img.shape[1] size = (height, width) print(size) videoname = "2.mp4" # 要創建的視頻文件名稱 fourcc = cv2.VideoWriter_fourcc('M', 'J', 'P', 'G') # 編碼器 fps = 5 # 幀率 # 1.要創建的視頻文件名稱 2.編碼器 3.幀率 4.size videoWrite = cv2.VideoWriter(videoname,fourcc, fps, size) for i in range(10): filename = 'img' + str(i) + '.jpg' img = cv2.imread(filename) videoWrite.write(img) # 寫入
關于使用python-cv2如何實現視頻的分解與合成問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。