web-gelistirme-sc.com

OpenCV 2.4 VideoCapture Windows'da çalışmıyor

Aşağıdaki komutları ile yüklenen OpenCV 2.4'e Python bağları kullanıyorum.

Benim sorunum, buna benziyor , ancak Windows makine çözümüne ihtiyacım var.

Sorun: kullanmaya çalıştığımda 

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

iyi çalışıyor, ancak aşağıdaki kod

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

her zaman yanlış döndür. 

Dosyanın yolu doğru, mutlak ve boşluk yok.

Windows XP ve Windows 7 gibi iki makinede benzer sonuçları denedim. Linux'ta (Ubuntu) benim için iyi çalışıyor.

45
Bihaqo

Windows PATH ortam değişkenine C:\OpenCV\3rdparty\ffmpeg\ ekleyin veya bu dizinden opencv_ffmpeg.dll öğesini C:\Python27\ veya PATH içindeki bir dizine kopyalayın. Alternatif olarak, http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv adresinden OpenCV ikili dosyalarını kullanın.

opencv_ffmpeg.dll dosyasını yeniden adlandırmak da gerekli olabilir.

OpenCV sürüm X.Y.Z için
opencv_ffmpeg.dll ==> opencv_ffmpegXYZ.dll

64-bit OpenCV sürüm X.Y.Z için
opencv_ffmpeg.dll ==> opencv_ffmpegXYZ_64.dll

70
cgohlke

Kopyalama opencv_ffmpeg.dll / benim için yeterli değildi - Python 2.7.5 ile OpenCV 2.4.6 kullandığımda/ opencv_ffmpeg246.dll olarak yeniden adlandırmalıydım

28
Eran Marom

Öncelikle kopyalamayı denedim, sonra pencerelerin Path ortamını değiştirdim .. benim openCV sürüm 2.4.5 ve python 2.7 ismini opencv_ffmpeg245.dll olarak değiştirene kadar işe yaramadı. (notice ** 245.dll opencv sürüm 2.4.5 'den alınmıştır)

10
SanD

64 bit sürümleri için opencv_ffmpeg_64.dll dosyasını opencv_ffmpeg249_64.dll olarak yeniden adlandırın 249 ile opencv sürümünüzü değiştirin.

8
user3738775

64 bit ortamındaki OpenCV 3.0.0 için opencv_ffmpeg_64.dll dosyasını kopyalayın ve opencv_ffmpeg300_64.dll olarak yeniden adlandırın.

Ayrıca bu yolu PATH ortam değişkeninize, OpenCV ile Java altında çalışması için ekleyin.

6
masewo

Güncelleştirme: Bu hala OpenCV 2.4.9 için geçerlidir, tüm dosyaları kopyalayın ve dll opencv_ffmpeg249.dll dosyasını yeniden adlandırın

5
bw4sz

Python 2.7 ve opencv 2.4.10 ile aynı sorunu yaşadım. Opencv_ffmpeg2410_64.dll dosyasını C:\Applications\opencv\build\x64\vc10\bin dizininden python yoluna kopyaladım (benimki C:\Users\mohammad\Anaconda) ve çözüldü!

4
user1947921

İlk başta windows8.1 32bit ve opencv 2.4.10 kullanıyorum.
Logicool C270 tarafından yapılan test1.wmv dosyasını kullanmak için de aynı problemle karşılaştım.
Digital Camera (Canon SX160) ..__ tarafından üretilen başka bir test2.mov dosyasını kullanmayı denedim. Böylece test2.mov yolunu eklemek için C:\opencv\build\x86\vc12\bin oynayabilirim.
Ama oynayamıyorum test1.wmv.
Bu yüzden VLC (Video for youtube HD 'a kadar) kullanarak test1.wmv biçimini test1a.mp4 olarak değiştirmeye çalışıyorum.
Sonra oynayabilirim test1a.mp4.
Ubuntu 14.04 LTS'de test1.wmv denedim, sonra kolayca oynayabilirim.
Varsayılan ffmpeg binary'de windows8.1 ve Ubuntu 14.04 LTS arasında bir miktar fark olabilir.

3
user

Anaconda ortamı için kopya opencv_ffmpeg249_64.dll C:\Python27\sürümünden, opencv doğru sürümünüze göre adını yeniden adlandırın ve geçmişine C:\Users\KHALID\Anaconda2\Library\bin

0
Khalid Bin Huda