2017-03-07 4 views
3

Ich versuche, OpenCV 3.1.0 mit Python3 auf meinem Computer installiert zu bekommen. Weil ich Ubuntu 16.04, ich bin nach dieser Anleitung genau:Kann openCV 3.1.0 nicht mit python3 installieren. CMAKE schließt Python nicht korrekt ein oder verknüpft es nicht

http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/

Ich habe jedoch Schwierigkeiten in Schritt 4 nach Cmake läuft. Der Ausgang meines Cmake Programms hat diesen Schnipsel:

-- OpenCL: 
--  Version:      dynamic 
--  Include path:    /home/kevin/opencv-3.1.0/3rdparty/include/opencl/1.2 
--  Use AMDFFT:     NO 
--  Use AMDBLAS:     NO 
-- 
-- Python 2: 
--  Interpreter:     /home/kevin/.virtualenvs/cv/bin/python (ver 3.5.2) 
-- 
-- Python 3: 
--  Interpreter:     /home/kevin/.virtualenvs/cv/bin/python3 (ver 3.5.2) 
-- 
-- Python (for build):   /home/kevin/.virtualenvs/cv/bin/python 
-- 
-- Java: 
--  ant:       NO 
--  JNI:       /usr/lib/jvm/java-8-oracle/include /usr/lib/jvm/java-8-oracle/include/linux /usr/lib/jvm/java-8-oracle/include 
--  Java wrappers:    NO 
--  Java tests:     NO 

Die Cmake Datei scheint nicht richtig, um die fehlenden Eigenschaften unter dem Python Abschnitt verknüpfen (Bibliotheken, numpy, packages_path). Ich habe versucht, opencv zu kompilieren und es zu installieren, und wenn ich python3 lade und cv importiere, sagt es, dass es das Lebenslauf-Paket nicht finden konnte.

Ich versuchte, den CMAKE Befehl zu modifizieren, so dass anstelle der Verwendung, was die Führung vorgeschlagen, habe ich drei Parameter cmake zu zwingen, um die fehlenden Python Eigenschaften zu schließen (die letzten drei Eigenschaften waren meine Modifikation):

cmake -D CMAKE_BUILD_TYPE=RELEASE  \ 
-D CMAKE_INSTALL_PREFIX=/usr/local  \ 
-D INSTALL_PYTHON_EXAMPLES=ON  \ 
-D INSTALL_C_EXAMPLES=OFF  \ 
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules  \ 
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python  \ 
-D BUILD_EXAMPLES=ON \ 
-D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so \ 
-D PYTHON_NUMPY_INCLUDE_DIR=~/.virtualenvs/cv/lib/python3.5/site-packages/numpy/core/include \ 
-D PYTHON_PACKAGES_PATH=~/.virtualenvs/cv/lib/python3.5/site-packes .. 

Dennoch ist die Ausgabe von cmake die gleiche (es listet nur den Interpreter und keine anderen Python-Eigenschaften auf), und wenn ich versuche, opencv zu erstellen und zu installieren, konnte mein Python-Interpreter das opencv-Paket nicht finden.

Meine /usr/local/lib/python3.5/ Datei hatte kein site-packages-Verzeichnis, nachdem ich die Installation von opencv abgeschlossen habe.

Kann mir jemand in die richtige Richtung zeigen? Ich habe versucht, in den letzten paar Stunden herauszufinden, wie ich das beheben kann, aber ich habe noch nie einen Weg gefunden, also würde ich jede Anleitung sehr schätzen. Vielen Dank!

aktualisieren

Ich weiß, dass ich -D BUILD_opencv_python3 = yes zum Cmake Befehl hinzufügen, so dass opencv für die Bibliotheken Python aussieht. Dies ist jedoch die neue Ausgabe, die ich von cmake erhalten:

-- Python 3: 
--  Interpreter:     /home/kevin/.virtualenvs/cv/bin/python (ver 3.5.2) 
--  Libraries:     NO 
--  numpy:      NO (Python3 wrappers can not be generated) 
--  packages path:    lib/python3.5/site-packages 

Jede Idee, warum cmake nicht meinen Python 3 Bibliotheken richtig zu finden (auch wenn ich „-D PYTHON_LIBRARY =/usr/lib/x86_64-Linux hinzufügen -gnu/libpython3.5m.so "zu den cmake-Optionen)?

aktualisieren

fixiert ich das Problem, indem die gesamte/Build-Verzeichnis löschen und läuft Cmake auf ein frisches Verzeichnis. Ich denke, dass der Fehler weiterhin auftrat, weil CMake etwas zwischengespeichert wurde, aber das Hinzufügen des Flags -D BUILD_opencv_python3 = yes scheint den Trick für mich zu schaffen.

+0

Ist Ihr PYTHON_PACKAGES_PATH richtig geschrieben? Der letzte Ordner ist 'site-packes'. Sollten es nicht 'Site-Pakete' sein? –

+0

Danke, es war in der Tat ein Tippfehler. Ich habe jedoch mein Problem behoben, indem ich das gesamte Verzeichnis/build gelöscht habe und Cmake erneut ausgeführt habe (mit -D BUILD_opencv_python3 = yes). Ich denke, es gab einen Fehler wegen einer Art von Caching von CMake, und als ich alles löschte und von vorne begann, war der Fehler verschwunden. – user3667125

+0

Sie haben Ihre Frage beantwortet. Es wäre schön, wenn Sie anstelle von Aktualisierungen in der Frage eine Antwort geben und sie akzeptieren. Hier finden Sie mehr https://StackOverflow.com/Help/self-answer –

Antwort

6

Ich habe mein Problem behoben, indem ich das gesamte Verzeichnis/build gelöscht habe und cmake erneut ausgeführt habe (mit -D BUILD_opencv_python3 = yes). Ich denke, es gab einen Fehler wegen einer Art von Caching von CMake, und als ich alles löschte und von vorne begann, war der Fehler verschwunden.

+1

Ich hatte das gleiche Problem, das funktionierte für mich (Ubuntu 16.10, python3, Opencv3 mit contrib) –

Verwandte Themen