使用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
到此這篇關于使用python-cv2實現(xiàn)視頻的分解與合成的文章就介紹到這了,更多相關使用python-cv2實現(xiàn)視頻的分解與合成內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python的Django框架中消息通知的計數(shù)器實現(xiàn)教程
通知的計數(shù)器非常有用,新通知時+1和讀過通知后的-1是最基本的功能,這里我們就來看一下Python的Django框架中消息通知的計數(shù)器實現(xiàn)教程2016-06-06Python使用pip安裝報錯:is not a supported wheel on this platform的解決
這篇文章主要介紹了Python使用pip安裝報錯:is not a supported wheel on this platform的解決方法,結(jié)合實例形式分析了在安裝版本正確的情況下pip安裝報錯的原因與相應的解決方法,需要的朋友可以參考下2018-01-01python SQLAlchemy的Mapping與Declarative詳解
這篇文章主要介紹了python SQLAlchemy的Mapping與Declarative詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07利用Python中的內(nèi)置open函數(shù)讀取二進制文件
這篇文章主要介紹了利用Python實現(xiàn)讀取二進制文件,文章嘗試使用Python中的內(nèi)置open函數(shù)使用默認讀取模式讀取zip文件,下文詳細介紹,需要的小伙伴可以參考一下2022-05-05