簡體   English   中英

OpenCV Python無法打開視頻文件

[英]OpenCV Python unable to open videofile

我正在使用Windows 10和Python和Opencv 3.1.0的2.7.12 32位版本。 以下是出錯的代碼:

vcap = cv2.VideoCapture("StraightAhead.avi")
if not vcap.isOpened():
    print "File Cannot be Opened"

首先,所有這些代碼在使用網絡攝像頭時都適用(因此VideoCapture(0) )。

我嘗試了幾件事。 首先,它最初是mp4,因此我將其轉換為avi。 我嘗試了一個朋友的文件(.webm),該朋友正在將Linux與python和opencv一起使用,該文件對他有用,但對我不起作用。

我檢查了一下是否可以將DLL文件從opencv ffmpeg移至Python,但是那里沒有適合我的DLL文件。 我檢查了許多其他問題,但大多數問題都為Linux提供了解決方案。

最相關的問題沒有任何答案或評論,所以我最終決定在這里提問。 我希望有人能幫幫忙。

試過了您的代碼,它可以在我的64位Win10機器上運行。 32位Windows所需的文件是“ opencv_ffmpeg310.dll”。 建議您從OpenCV下載站點下載二進制文件,進行安裝,然后重試。 ffmpeg DLL位於'C:\\ Program Files(x86)\\ OpenCV 3.1.0 \\ x64 \\ vc14 \\ bin'中。 如果安裝程序未將以下路徑添加到Windows環境中,則還需要添加以下路徑。

OPENCV_DIR='C:\Program Files (x86)\OpenCV 3.1.0\x64\vc14' 
PATH = %PATH%;%OPENCV_DIR%\bin

請注意,vc14是由Visual Studio 2015編譯的,而vc12是由VS2013編譯的。

希望能有所幫助。

您可以將二進制文件擴展到C:\\,然后重試。

  1. 設置OPENCV_DIR = C:\\ opencv \\ build \\ x64 \\ vc14 {opencv_ffmpeg310_64.dll在那里}
  2. 使用%OPENCV_DIR%\\ bin添加PATH
  3. 將C:\\ opencv \\ build \\ python \\ 2.7 \\ x86 \\ cv2.pyd復制到%PYTHON%\\ lib \\ site-packages \\ cv2.pyd {其中%PYTHON%是32位python根目錄,例如“ C:\\程序文件(x86)\\ Python27“}

如果仍然無法使用,請更改OpenCV路徑以故意使用32位版本的ffmpeg DLL。

  1. 將OPENCV_DIR設置為C:\\ opencv \\ build \\ {以在bin下使用32位ffmpeg \\}

如果問題仍然存在,請記錄回溯消息。

編輯:剛剛測試了從opencv網站下載的opencv-3.1.0.exe。 使用32位Win7附帶的“ Wildlife.wmv”視頻文件可以正常播放。

看起來EXE壓縮了兩組文件... OPENCV_DIR設置為C:\\ opencv \\ opencv \\ build \\ x86 \\ vc12。 並將c:\\ opencv \\ opencv \\ build \\ python \\ 2.7 \\ x86 \\ cv2.pyd cv2.pyd復制到python的lib \\ site-packages中。 就這樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM