2013-11-21 42 views
1

我遵循these指令來安裝python的opencv(即將pyd文件複製到站點包)。它工作正常,但OpenCV的不能打開的視頻文件我試圖打開:Windows下的opencv編解碼器

capture = cv2.VideoCapture("some_file.avi") 
capture.isOpened() # False 

我試着用H264和MPEG2編碼視頻都沒有成功。 Windows 7 x64,32位Python 2.7.5和opencv 2.4.7。所以這可能意味着opencv無法找到正確的編解碼器,但我確信opencv_ffmpeg247.dll正在路徑中。

+0

這解決了我的問題:http://stackoverflow.com/questions/11699298/opencv-2-4-videocapture-not-working-on-windows – Paul

回答

1

從倉庫中安裝newest FFmpeg available

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg 

你已經安裝的版本可能不是與OpenCV的2.4.7兼容。測試這個假設的最簡單方法是將OpenCV降級到版本2.4.5。

並記住:cv2.VideoCapture("some_file.avi")只有在some_file.avi與您的源代碼位於同一目錄下才會成功。如果情況並非如此,則應使用文件的完整路徑!

我想從這個論壇報價another post

您的問題的原因可能是錯誤#2281:VideoCapture::read fails on uncompressed video

無論如何,請嘗試OpenCV 2.4.5並讓我們知道它是否工作。

+0

是的我期望一個只能打開一個文件的調用如果該文件實際存在,則成功;)(更嚴重的是:正常調用open()可以正常工作,我也嘗試了絕對路徑)。我正在使用opencv附帶的ffmpeg dll,那麼爲什麼這些失敗,而最新的成功?如果沒有一個真正的理由來解釋爲什麼這會有所幫助,那麼並不是真的期望在windows下編譯任何更大的C庫。 – Voo

+0

最簡單的路徑是回到2.4.5。這樣做,並告訴我它是如何去的。 ;) – karlphillip

+0

顯然是opencv 2.4.7中的一個bug。它附帶一個ffmpeg dll,它與其發貨的python模塊不兼容。我假設我應該爲這個問題提出一個bug *,並回到2.4.5修復了這個問題。只要SO讓我回報,平常的遊戲 - 賞金就會得到回報。 – Voo

相關問題