使用python-cv2實(shí)現(xiàn)視頻的分解與合成的示例代碼
1.視頻分解圖片
我們使用cv2.VideoCapture來讀取視頻
import cv2cap = 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 = 0while(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)建一個(gè)video寫入器
用cv2.VideoWriter_fourcc創(chuàng)建視頻編解碼器
要?jiǎng)?chuàng)建mp4類型的視頻文件,視頻編解碼器為cv2.VideoWriter_fourcc(’M’, ’J’, ’P’, ’G’)
import cv2img = cv2.imread(’img0.jpg’)width = img.shape[0]height = img.shape[1]size = (height, width)print(size)videoname = '2.mp4' # 要?jiǎng)?chuàng)建的視頻文件名稱 fourcc = cv2.VideoWriter_fourcc(’M’, ’J’, ’P’, ’G’) # 編碼器 fps = 5 # 幀率# 1.要?jiǎng)?chuàng)建的視頻文件名稱 2.編碼器 3.幀率 4.sizevideoWrite = 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實(shí)現(xiàn)視頻的分解與合成的文章就介紹到這了,更多相關(guān)使用python-cv2實(shí)現(xiàn)視頻的分解與合成內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁2. PHP8.0新功能之Match表達(dá)式的使用3. Android實(shí)現(xiàn)觸發(fā)html頁面的Button控件點(diǎn)擊事件方式4. JavaScript設(shè)計(jì)模式之策略模式實(shí)現(xiàn)原理詳解5. Nginx+php配置文件及原理解析6. 解決Python 進(jìn)程池Pool中一些坑7. ajax請(qǐng)求添加自定義header參數(shù)代碼8. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究9. 八種Vue組件間通訊方式合集(推薦)10. JavaScript基于用戶照片姓名生成海報(bào)
