Heim  >  Artikel  >  Backend-Entwicklung  >  Warum kann ich mit OpenCV 2.4 unter Windows keine Frames aus Videodateien abrufen?

Warum kann ich mit OpenCV 2.4 unter Windows keine Frames aus Videodateien abrufen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-01 03:07:02297Durchsuche

Why Can't I Retrieve Frames from Video Files Using OpenCV 2.4 on Windows?

VideoCapture ruft keine Frames aus Videodateien in OpenCV 2.4 unter Windows ab

In diesem Artikel werden wir uns mit einem häufigen Problem befassen, auf das Benutzer von OpenCV 2.4 auf Windows-Systemen stoßen. Konkret werden wir uns mit dem Problem befassen, dass VideoCapture keine Frames aus Videodateien erfassen kann.

Problembeschreibung

Bei Verwendung von OpenCV 2.4 unter Windows funktioniert der folgende Code wie erwartet:

<code class="python">cap = cv2.VideoCapture(0)
print(cap.grab())</code>

Wenn Sie jedoch versuchen, Frames aus einer Videodatei mit dem folgenden Code aufzunehmen:

<code class="python">cap = cv2.VideoCapture(filename)
print(cap.grab())</code>

Es wird durchweg False zurückgegeben, auch wenn der Pfad zur Datei korrekt und gültig ist. Dieses Problem wurde sowohl auf Windows XP- als auch auf Windows 7-Rechnern beobachtet, während unter Linux (Ubuntu) derselbe Code einwandfrei funktioniert.

Lösung

Um dieses Problem zu beheben, müssen Sie dies sicherstellen Die notwendigen Abhängigkeiten für die Videodekodierung stehen OpenCV unter Windows zur Verfügung. Dies kann erreicht werden, indem Sie das folgende Verzeichnis zu Ihrer Windows-PATH-Umgebungsvariablen hinzufügen:

C:\OpenCVrdparty\ffmpeg\

Alternativ können Sie die Datei opencv_ffmpeg.dll manuell aus dem angegebenen Verzeichnis an einen dieser Speicherorte kopieren:

  • C:Python27
  • Jedes Verzeichnis, das in der PATH-Umgebungsvariablen enthalten ist

Darüber hinaus kann es je nach Bedarf erforderlich sein, die Datei opencv_ffmpeg.dll umzubenennen OpenCV-Version und Betriebssystem (64-Bit oder 32-Bit). Hier ist eine Richtlinie zum Umbenennen:

Für OpenCV-Version X.Y.Z

  • opencv_ffmpeg.dll ==> opencv_ffmpegXYZ.dll

Für 64-Bit-OpenCV-Version X.Y.Z

  • opencv_ffmpeg.dll ==> opencv_ffmpegXYZ_64.dll

Indem Sie diese Schritte befolgen, können Sie OpenCV 2.4 aktivieren, um Frames aus Videodateien auf Windows-Systemen erfolgreich zu erfassen und zu verarbeiten.

Das obige ist der detaillierte Inhalt vonWarum kann ich mit OpenCV 2.4 unter Windows keine Frames aus Videodateien abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn