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% 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:
cpp-example-videocapture_basic
oder cpp-example-videocapture_starter
versuchen, geben sie Ihnen einen Fehler?