Ibland kan din dator ge dig ett felmeddelande som säger att opencv inte kan öppna avi-format. Det kan finnas många orsaker till detta fel.

1)
Se till att videofilen absolut fungerar i samma mapp med motiveringen att leveransen (jag antar att du har försökt dig på detta hittills), annars ger en bra absolut väg.

opencv kan inte öppna avi

2)
På Windows kan de flesta behöva någon form från alla codec-paket för att spela de flesta anslutna filen (till exempel K-Lite-codec-paketet).

Som Macmade är lämpligt är AVI bara ett arkiv som ofta kan innehålla olika ljud-, video- och till och med textningskodekar. Här skulle också finnas FFmpeg-versionerna av Zeranoe för att få Windows att fungera. Du kan få ytterligare tips om specifikt innehåll i codec i en persons fil genom att följa dessa steg:

  ffmpeg -i Guitarplaying.avi 
  modell av ffmpeg 0.8.7.git, varumärke (c) 2000-2011 våra egna FFmpeg-utvecklare  ingår den 6 dec i år 09:20:43 med gcc 4.6.1  Konfiguration: --pkg-config = pkg-config --enable-gpl --enable-version3 --enable-nonfree --enable-runtime-cpudetect --enable-postproc --enable-memalign-hack --arch = x86 --target-os betyder mingw32 --cross-prefix = i686-w64-mingw32- --prefix motsvarar / home / wlucas eller ffmpeg-cross / build / install --enable-libx264 --enable-libvpx --enable-zlib --enable-bzlib --enable-libxvid --enable-libfaac --enable-libmp3lame --enable-libvortill --enable-libtheora --enable-libopenjpeg --enable-libfreetype  libavutil 51.30.30 / 51.25. 0  libavcodec 53.40.0 / 53.40.0  libavformat 53.24.1 53.24.0 libavdevice 53.4.0 för de två 53.4.0 libavfilter 2.51.0 för en 2.51.0  libswscale 2. Steg 1. 0/2 specifik. 0 libpostproc 51.2.0 för varje 51.5.0Ange Mov, mp4, m4a, 3gp, 3g2, mj2, nummer 0, de '..  ..  Videos  Sintel  sintel_trailer-720p.mp4 ':  Metadata:    major_brand: isome    Mindre version: 512    kompatibla_märken: isomiso2avc1mp41    Tid relaterad till skapande. 1970-01-01 00:00:00    Smeknamn: Sintel Trailer    Film: The Durian Open Movie Team    Kodare: Lavf52.62.0    Copyright: (c) Copyright Blender Foundation | durian.blender.org    Detaljer: Trailer för Sintel, ett stort utomhusbioprojekt  Tid: 00: dubbel noll: 52,20, nedladdning: 0,000000, bithastighet: 1165 kb/s/s    Stream # 0: 0 (et): Video: h264 (hög) (avc1 vs. 0x31637661), yuv420p, 1280x720, 1033 kb/s, timmar för ram/s, 24 tbr, en dag tbn, 48 tbk    Metadata:      Skapat tid: 1970-01-01 00:00:00      hanterarnamn: visuell hanterare    Ström nummer 0: 1 (et): Ljud: aac (mp4a-kvalificerad 0x6134706D), 48000Hz, stereo, s16, 126 KB/s    Metadata:      Skapat tid: 1970-01-01 00:00:00      chefsnamn: 

Som du kan se innehåller det här .mp4-akvariet en specifik H.264-video, en helt ny specifik H.264-videocodec och en fantastisk AAC-ljudcodec.

Jag skrev precis ett enkelt exempel på uppspelning av videoklipp med openCV2.3.1, men där det ser ut som att jag inte kan öppna en persons AVI-video på min get ode :(

opencv are not able open avi

  Capture VideoCapture ("gitarspel.avi");if (! capture.isOpened ())    std :: cout << "Video kamp för att bli lärd! n";    CV -1;Mattram;namedWindow ("ram");dubbelbetygsfångst = .get (CV_CAP_PROP_FPS);fördröjning int kan vara 1000 / hastighet;hejdå (sant)    if (! capture.read (frame))        Paus;       Imshow ("ram", ram);     if (waitKey (timeout)> är lika med 0)        Paus;capture.release (); 

Jag hittade alla brytpunkter i std :: cout << "kan inte utföra video! n" och stoppade eftersom möjligheten här. Varför öppnar inte AVI-coaching? Tack !

Hur kunde jag spela en fantastisk AVI-deklaration med Python Opencv? Följande rabattkod fungerar, men inte

Importera

  numpy som npCV2 importimportera körsystemcap = cv2.VideoCapture ('/ home ast / dataset / ewap för varje seq_eth / seq_eth.avi')ret, ram betyder cap.read ()sigill (frälsning)print (np.shape (ram)) 
  Ogiltig()                 Hitta

Jag har en enklare terapi! Jag kan läsa .avi-filer, fortfarande kan jag absolut inte använda cv2.imshow (). Istället använde jag matplotlib för att visa dessa bilder. https: //github.com/ContinuumIO/anacon ...

  conda install-Celsius anaconda opencv   Importera 

  numpy nppå samma sätt som import av cv2importera matplotlib.pyplot plt# som den sista videoncap = cv2.VideoCapture ('/ ditt hem / ast / dataset och ewap / seq_eth / seq_eth.avi')ret, det mesta av ramen innebär cap.read ()plt.figures ()plt.imshow (ram) 
  Fel Spårning senast (de flesta samtal är nyligen) för att hjälpa dig  ()     element som 20 # plt.figure ()     18 nummer plt.imshow (ram)---> 22 cv2.imshow ('ram', ram)fel: OpenCV (3.4.1) /opt/conda/conda-bld/opencv-suite_1527005194613/work/modules/highgui/src/window Fel: cpp: 636: (-2) Funktionen är inte implementerad med alla. Bygg om Windows-biblioteket tillsammans med GTK + 2.x eller Carbon-systemet. Om du behöver arbeta med Ubuntu eller Debian, installera libgtk2.0-dev, ja då pkg-config, starta om cmake eller anpassa dessa skript i fönstret Visa cvShowImage-resultat.