OpenCV cv2.VideoWrite() 寫出為空


問題: cv2.VideoWrite() 寫出為空

症狀:輸出的文件為空或損壞或無法打開

 

原因:

①封裝支持

保存文件名需要寫明保存文件的封裝格式,后綴為 .avi 可以成功打開編碼器,而諸如 .mp4,.rmvb, 未能打開。

②運行環境沒有相對應的編碼器

1 import numpy as np
2 import cv2
3 cap = cv2.VideoCapture(0)
4 # Define the codec and create VideoWriter object
5 fourcc = cv2.VideoWriter_fourcc(*'XVID')
6 out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))

在上圖代碼框中,第5行,定義視頻編碼方式(fourcc),但因為電腦中沒有相對應的解碼器,因此無法轉換。

解決辦法: 將fourcc 轉換成 -1, 即手動設置編碼方式。

1 import numpy as np
2 import cv2
3 cap = cv2.VideoCapture(0)
4 # Define the codec and create VideoWriter object
5 out = cv2.VideoWriter('output.avi', -1, 20.0, (640,480))

然后出現下圖,手動選擇,嘗試在當前電腦上存在的壓縮程序,如果仍無法解決,可嘗試下載安裝一些視頻編輯軟件

 

參考鏈接:

1. 完美cvCreateVideoWriter寫出AVI文件為空的問題

2. opencv VideoWriter保存視頻失敗原因

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM