使用python-cv2實現(xiàn)視頻的分解與合成的示例代碼
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) # 寫入
720 1280
到此這篇關(guān)于使用python-cv2實現(xiàn)視頻的分解與合成的文章就介紹到這了,更多相關(guān)使用python-cv2實現(xiàn)視頻的分解與合成內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python 如何優(yōu)雅的將數(shù)字轉(zhuǎn)化為時間格式的方法
這篇文章主要介紹了Python 如何優(yōu)雅的將數(shù)字轉(zhuǎn)化為時間格式的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2019-09-09
Pytorch建模過程中的DataLoader與Dataset示例詳解
這篇文章主要介紹了Pytorch建模過程中的DataLoader與Dataset,同時PyTorch針對不同的專業(yè)領(lǐng)域,也提供有不同的模塊,例如?TorchText,?TorchVision,?TorchAudio,這些模塊中也都包含一些真實數(shù)據(jù)集示例,本文給大家介紹的非常詳細,需要的朋友參考下吧2023-01-01
PyQt5 QTableView設(shè)置某一列不可編輯的方法
今天小編就為大家分享一篇PyQt5 QTableView設(shè)置某一列不可編輯的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
Django將默認的SQLite更換為MySQL的實現(xiàn)
今天小編就為大家分享一篇Django將默認的SQLite更換為MySQL的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11

