Ich verwende Python-Bindungen für OpenCV 2.4, die mit folgenden Anweisungen installiert wurden: Anweisungen .
Mein Problem ist ähnlich wie dieses , aber ich brauche eine Windows-Computerlösung.
Problem: wenn ich versuche zu benutzen
cap = cv2.VideoCapture(0)
print cap.grab()
es funktioniert gut, aber der folgende Code
cap = cv2.VideoCapture(filename)
print cap.grab()
gib immer False zurück.
Der Pfad zur Datei ist korrekt, absolut und enthält keine Leerzeichen.
Ich habe es auf zwei Computern mit Windows XP und Windows 7 mit ähnlichen Ergebnissen versucht. Unter Linux (Ubuntu) funktioniert es gut für mich.
Fügen Sie C:\OpenCV\3rdparty\ffmpeg\
zur Windows PATH-Umgebungsvariablen hinzu, oder kopieren Sie opencv_ffmpeg.dll
aus diesem Verzeichnis in C:\Python27\
oder in ein Verzeichnis, das sich im PATH befindet. Verwenden Sie alternativ die OpenCV-Binärdateien aus http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv .
Das Umbenennen der opencv_ffmpeg.dll
-Datei kann ebenfalls erforderlich sein.
Für OpenCV Version X.Y.Zopencv_ffmpeg.dll
==> opencv_ffmpegXYZ.dll
Für die 64-Bit-OpenCV-Version X.Y.Zopencv_ffmpeg.dll
==> opencv_ffmpegXYZ_64.dll
opencv_ffmpeg.dll zu kopieren war nicht genug für mich - ich musste es in opencv_ffmpeg246.dll umbenennen, als ich OpenCV 2.4.6 mit Python 2.7.5 verwendete
Ich habe zuerst versucht, zu kopieren und dann die Path-Umgebung von Windows zu ändern. Es funktionierte nicht, bis ich den Namen in opencv_ffmpeg245.dll für meine openCV-Version 2.4.5 und Python 2.7 geändert habe. (Der Hinweis ** 245.dll stammt von opencv Version 2.4.5.)
Benennen Sie für 64-Bit-Versionen die Datei opencv_ffmpeg_64.dll in opencv_ffmpeg249_64.dll um.
Für OpenCV 3.0.0 in einer 64-Bit-Umgebung kopieren Sie opencv_ffmpeg_64.dll und benennen Sie sie in opencv_ffmpeg300_64.dll um.
Fügen Sie diesen Pfad auch zu Ihrer PATH-Umgebungsvariablen hinzu, damit er mit OpenCV unter Java funktioniert.
Update: Dies gilt weiterhin für OpenCV 2.4.9. Kopieren Sie alle Dateien und benennen Sie die DLL opencv_ffmpeg249.dll um
Ich hatte das gleiche Problem mit Python 2.7 und opencv 2.4.10. Ich habe die Datei opencv_ffmpeg2410_64.dll von C:\Applications\opencv\build\x64\vc10\bin in den Python-Pfad kopiert (meine ist unter C:\Users\mohammad\Anaconda) und es wurde gelöst!
Zuerst verwende ich windows8.1 32bit und opencv 2.4.10.
Ich hatte das gleiche Problem, die Datei test1.wmv
zu verwenden, die von Logicool C270 erstellt wurde.
Ich habe versucht, eine andere Datei test2.mov
zu verwenden, die von der Digitalkamera (Canon SX160) erstellt wurde . So kann ich test2.mov
abspielen, um den Pfad C:\opencv\build\x86\vc12\bin
anzuhängen.
Ich kann jedoch nicht test1.wmv.
spielen.
Ich versuche also, das Format test1.wmv mithilfe von VLC (in Video for youtube HD
) in test1a.mp4 zu ändern.
Dann kann ich test1a.mp4.
spielen
Ich habe test1.wmv
auf Ubuntu 14.04 LTS ausprobiert, dann kann ich es einfach spielen.
Es kann ein Unterschied in der Standardeinstellung von ffmpeg zwischen windows8.1 und Ubuntu 14.04 LTS auftreten.
Für eine Anaconda-Umgebung Copy opencv_ffmpeg249_64.dll von C:\Python27\ Benennen Sie die Version entsprechend Ihrer opencv-korrekten Version Um und geben Sie sie an C:\Users\KHALID\Anaconda2\Library\bin