2012-01-01 65 views
3

我們可以在OpenCV中使用哪些視頻格式?除AVI和攝像機負載之外,還可以使用其他任何東西嗎? 如果這些是唯一支持的格式,則需要使用其他視頻格式的視頻轉換器。在OpenCV中加載捕獲

回答

1

我不確定它是如何最新的,但this OpenCV wiki page很好地概述了支持哪些編解碼器。如果看起來AVI是唯一具有體面的跨平臺支持的格式。您的選擇是使用外部轉換器(如您所建議的)執行轉換,或者編寫使用視頻庫加載圖像的代碼,併爲數據創建相應的標頭cv::MatIplImage *

除非您正在處理大量視頻,否則我建議採取阻力最小的路徑並將視頻轉換爲AVI(有關OpenCV支持的詳細信息,請參閱上面的鏈接)。只是要小心避免有損壓縮:它會破壞大量的圖像處理算法。

+1

鏈接的維基頁面消失了,但存檔位於[此處](https://web.archive.org/web/20130524095153/http://opencv.willowgarage.com/wiki/VideoCodecs)。 – chappjc 2014-09-30 01:21:48

0

OpenCV「農場外」視頻編碼和解碼到其他庫(例如,ffmpeg和VFW)。另外,請看highguidirectory以查看所有VideoCapture包裝可用(特別注意cap_*實現)。 AVI只是一個容器,對於OpenCV可以讀取的視頻編解碼器來說,並不是那麼重要。 AVI可以包含幾種不同的視頻,音頻,甚至是字幕流的組合。看到我的其他answer關於這一點。 Here也是一篇快速文章,解釋容器和編解碼器之間的差異。

因此,如果您在Linux上,請確保ffmpeg支持對您感興趣的視頻編解碼器進行解碼。您可以檢查什麼解壓你的ffmpeg的版本,使用下面的命令支持:

ffmpeg -formats 

在Windows上,你要確保你有足夠的可用解碼各類像K-Lite Codec Pack視頻的編解碼器。