溫馨提示×

溫馨提示×

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

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

使用python-cv2如何實現(xiàn)視頻的分解與合成

發(fā)布時間:2020-10-28 02:58:17 來源:億速云 閱讀:560 作者:Leah 欄目:開發(fā)技術(shù)

使用python-cv2如何實現(xiàn)視頻的分解與合成?針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

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為圖片的內(nèi)容
  (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方法來創(chuàng)建一個video寫入器

用cv2.VideoWriter_fourcc創(chuàng)建視頻編解碼器

要創(chuàng)建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"  # 要創(chuàng)建的視頻文件名稱 
fourcc = cv2.VideoWriter_fourcc('M', 'J', 'P', 'G') # 編碼器 
fps = 5 # 幀率

# 1.要創(chuàng)建的視頻文件名稱 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) # 寫入

關(guān)于使用python-cv2如何實現(xiàn)視頻的分解與合成問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

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

AI