OpenCV 2.4 VideoCapture nie działa w systemie Windows

Używam wiązań Pythona do OpenCV 2.4 zainstalowanych z następującymi instrukcjami .

Mój problem jest podobny do ten , ale potrzebuję rozwiązania Windows machine.

Problem: kiedy próbuję użyć

cap = cv2.VideoCapture(0)
print cap.grab()

Działa dobrze, ale następujący kod

cap = cv2.VideoCapture(filename)
print cap.grab()

Zawsze zwracaj False.

Ścieżka do pliku jest poprawna, bezwzględna i nie ma spacji.

Próbowałem na dwóch komputerach z Windows XP i Windows 7 z podobnymi wynikami. Na Linuksie (Ubuntu) mi pasuje.

Author: Community, 2012-07-28

9 answers

Dodaj C:\OpenCV\3rdparty\ffmpeg\ do zmiennej środowiskowej Windows PATH lub skopiuj opencv_ffmpeg.dll z tego katalogu do C:\Python27\ lub do katalogu, który znajduje się w ścieżce. Alternatywnie, użyj binariów OpenCV z http://www.lfd.uci.edu/ ~ gohlke/pythonlibs / #opencv .

Zmiana nazwy pliku opencv_ffmpeg.dll może być również konieczna.

Dla wersji OpenCV X. Y. Z
opencv_ffmpeg.dll ==> opencv_ffmpegXYZ.dll

Dla 64-bitowej wersji OpenCV X. Y. z
opencv_ffmpeg.dll ==> opencv_ffmpegXYZ_64.dll

 69
Author: cgohlke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-16 14:52:13

Kopiowanie opencv_ffmpeg.dll nie wystarczył mi - musiałem zmienić nazwę na opencv_ffmpeg246.dll, kiedy używałem OpenCV 2.4.6 z Pythonem 2.7.5

 28
Author: Eran Marom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-30 08:57:27

Najpierw próbowałem skopiować, a następnie zmienić środowisko ścieżki systemu windows.. nie zadziałało, dopóki nie zmieniłem nazwy na opencv_ffmpeg245.dll dla mojej wersji openCV 2.4.5 i Pythona 2.7. (ogłoszenie * * 245.dll pochodzi z opencv w wersji 2.4.5)

 10
Author: SanD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-30 11:32:10

Dla wersji 64-bitowych Zmień nazwę opencv_ffmpeg_64.dll do opencv_ffmpeg249_64.zmiana dll 249 na wersję opencv.

 8
Author: user3738775,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-13 18:44:55

Dla OpenCV 3.0.0 w środowisku 64 bitowym skopiuj opencv_ffmpeg_64.dll i zmienić jego nazwę na opencv_ffmpeg300_64.dll.

Dodaj również tę ścieżkę do zmiennej środowiskowej PATH, aby działała z OpenCV w Javie.

 6
Author: masewo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-05 21:34:21

Aktualizacja: nadal jest to prawdą dla OpenCV 2.4.9, skopiuj wszystkie pliki i zmień nazwę dll opencv_ffmpeg249.dll

 5
Author: bw4sz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-09 12:42:43

Miałem ten sam problem z Pythonem 2.7 i opencv 2.4.10. Skopiowałem opencv_ffmpeg2410_64.plik dll z C:\Applications\opencv\build\x64\vc10\bin do ścieżki pytona (moja jest na C:\Users\mohammad\Anaconda) i został rozwiązany!

 4
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-03 04:22:39

Na początku używam windows8. 1 32bit i opencv 2.4.10.
Napotkałem ten sam problem, aby użyć pliku test1.wmv, który został wykonany przez Logicool C270.
Próbowałem użyć innego pliku test2.mov, który został wykonany przez aparat Cyfrowy (Canon SX160). Więc mogę grać test2.mov, aby dodać ścieżkę C:\opencv\build\x86\vc12\bin.
Ale nie mogę grać test1.wmv.
Staram się więc zmienić format test1.wmv do test1a. mp4 za pomocą VLC ( to Video for youtube HD).
Then I can play test1a.mp4.
Próbowałem test1.wmv Na Ubuntu 14.04 LTS, potem mogę grać łatwo.
Może wystąpić kilka różnica na domyślnym pliku binarnym FFmpeg między windows8. 1 A Ubuntu 14.04 LTS.

 3
Author: user,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-23 11:08:20

Dla środowiska Anakonda copy opencv_ffmpeg249_64.dll z C:\Python27\ Zmień nazwę jego wersji zgodnie z poprawną wersją opencv a za nim do C:\Users\KHALID\Anaconda2\Library\bin

 0
Author: Khalid Bin Huda,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-08 11:30:21