versucht, OpenCV 3.2.0 mit virtualenv arbeiten zu lassen

8

Ich bin auf Ubuntu 16.04 mit Python 2.7 und virtualenv & amp; virtualenvwrapper.

Indem Sie diesem Handbuch folgen Ich habe es geschafft, dass das folgende Skript mit meinem System Python2.7 funktioniert, das cv2 global installiert hat.

Ich habe dieses Skript verwendet, um es zu installieren:

%Vor%

Das folgende Skript funktioniert gut mit dieser systemweiten Installation:

%Vor%

Obwohl dies nicht - selbst das System Python kann Videos aus irgendeinem Grund nicht lesen ...

%Vor%

aber ich will es mit meinem virtualenv arbeiten. Also habe ich OpenCV mit:

neu kompiliert %Vor%

Hier ist das CMake-Protokoll:

%Vor%

Leider, während dies funktioniert und ich kann cv2 in die Shell importieren, kann es kein Video mit dem obigen Skript lesen, wahrscheinlich aufgrund der inkorrekten Kompilierung oder Verknüpfung von ffmpeg ? Der verwirrende Teil ist die systemweite Installation von OpenCV funktioniert auch ohne ffmpeg einwandfrei!

Was mache ich falsch? Wie kann ich OpenCV mit einem virtualenv arbeiten lassen?

====

BEARBEITEN: Das Ausführen des C ++ - Video-Schreibbeispiels hat folgendes Ergebnis:

%Vor%

Und der opencv_test_videoio Unit-Test meldet Folgendes: Ссылка

Allerdings funktioniert das Ausführen des C ++ - Video-Starter-Beispiels mit dem folgenden Befehl und der folgenden Ausgabe: Ich kann die Webcam sehen und Videos in der Highgui-Schnittstelle streamen:

%Vor%     
lollercoaster 18.07.2017, 06:18
quelle

1 Antwort

2

Gemäß der Anleitung haben Sie libavcodec-dev libavformat-dev libswscale-dev libv4l-dev installiert, die für die Verwendung einer Kamera und die Dekodierung des Audio- / Videostreams erforderlich sind.

Ich denke, die CMake-Ausgabe / das Protokoll sollte Ihnen einige Hinweise gegeben haben. Ich schlage vor, dass Sie uns einen Link zu einem Pastebin / gist dieses Protokolls bereitstellen.

Was haben Sie zum Beispiel im CMake-Protokoll unter dieser Zeile? (Sie sollten viel ja haben)

-- Video I/O:

Und bei diesem:

-- OpenCV modules: -- To be built: <list of opencv modules>

Enthält <list of opencv modules> "videoio"?

Noch ein blöder Test: Funktioniert die Kamera? Hast du eine / dev / video0-Datei? Kannst du den Video-Stream mit VLC oder Käse sehen?

Bearbeiten

Ich sehe, du hast keinen Streamer, Könnten Sie versuchen, die folgenden Bibliotheken zu installieren: libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev und rekompilieren?

V4L2 sollte ausreichen, und Sie haben es, aber nach die Quellen gstreamer können auch für die Videoaufnahme verwendet werden. Es gibt also eine geringe Wahrscheinlichkeit, aber nicht zu vernachlässigen, dass dies Ihr Problem löst.

Andere Fragen:

  • Was passiert, wenn Sie eine Videodatei anstelle Ihrer Webcam verwenden?
  • Ich sehe, dass die (Einheits-) Tests zusammengestellt wurden, sind sie alle bestanden?
  • Ich sehe, dass die cpp-Beispiele kompiliert wurden. Könnten Sie cpp-example-videocapture_basic oder cpp-example-videocapture_starter versuchen, geben sie Ihnen einen Fehler?
Vincent Vidal 20.07.2017 12:00
quelle

Tags und Links