opencv in venv - pycharm

Probleme bei der Installation?
Antworten
smet
User
Beiträge: 4
Registriert: Dienstag 18. August 2020, 11:06

Hi,

ich hab mir in meiner venv opencv installiert:

Code: Alles auswählen

virtualenv -p python3  "${local_path}/"
source "${local_path}/bin/activate"

# Create new folder for OpenCV
mkdir opencv
cd opencv/

# Download OpenCV 4.3.0 source files
wget https://github.com/opencv/opencv/archive/4.1.1.zip
unzip 4.3.0.zip
rm 4.3.0zip

# Download OpenCV 4.3.0 contrib source files
wget https://github.com/opencv/opencv_contrib/archive/4.3.0.zip
unzip 4.3.0.zip
rm 4.3.0.zip

# Build OpenCV
cd opencv-4.3.0
mkdir build
cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=../../../env/  \
    -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.3.0/modules \
    -DBUILD_opencv_xfeatures2d=OFF \
    -D INSTALL_PYTHON_EXAMPLES=OFF \
    -D INSTALL_C_EXAMPLES=OFF \
    -D BUILD_EXAMPLES=OFF ..


make -j8
make install -j8
In Pycharm habe ich über:
settings --> project -->project interpreter die oben benannte venv eingestellt.

Dort findet er allerdings nicht das in der venv installierte OpenCV..
nurn pip, pkg-resources, setuptools und wheels liegen darin.

entsprechend findet er natürlich in meinem Code auch nicht

Code: Alles auswählen

import cv2
Ich gehe stark davon aus, dass ich was vergessen habe :D
Hat eine'r ne Ahnung was? :D

Hab seit Ewigkeiten die Installation in ner venv gewählt.. und jetzt gleich ein vermutlich.. vermeidbares Problem.

Grüße smet
smet
User
Beiträge: 4
Registriert: Dienstag 18. August 2020, 11:06

Bitte mal kurz das wget [..]/4.1.1.zip ignorieren. Hatte vorhin meine Vorlage angepasst.. und in der Vorlage dann anscheinend noch die falsche OpenCV Version stehen. Die Installation war erfolgreich von OpenCV
Wurde natüŕlich auch mit 4.3.0 ausgeführt.
Zuletzt geändert von smet am Dienstag 18. August 2020, 12:09, insgesamt 1-mal geändert.
einfachTobi
User
Beiträge: 491
Registriert: Mittwoch 13. November 2019, 08:38

Keine Lösung für dein eigentliches Problem, aber ein Workaround: Verwende das nichtoffizielle, aber gut gepflegte Package `opencv-python` bzw. `opencv-contrib-python` (wenn du beide brauchst). Das kannst du nämlich einfach mit pip oder über das PyCharm UI installieren.
smet
User
Beiträge: 4
Registriert: Dienstag 18. August 2020, 11:06

einfachTobi hat geschrieben: Dienstag 18. August 2020, 12:09 Keine Lösung für dein eigentliches Problem, aber ein Workaround: Verwende das nichtoffizielle, aber gut gepflegte Package `opencv-python` bzw. `opencv-contrib-python` (wenn du beide brauchst). Das kannst du nämlich einfach mit pip installieren.
Aber kann ich darin auch einzelne Bibliotheken wiederum anwählen - oder ist da automatisch das "aktuelle" Release?
Ich muss zugeben komme ursprünglich eher aus der cpp Schiene..
Da war das angenehm, dass ich dann mehrere Versionen der Bibliotheken dann Parallel legen konnte.

Ich geh auch davon aus, dass hier irgendwie noch nen Linker fehlt. Aber zumindest gerade stehe ich auf dem Schlauch.
Benutzeravatar
sparrow
User
Beiträge: 4144
Registriert: Freitag 17. April 2009, 10:28

Warum baust du opencv denn selbst? Und bist du sicher, dass da automatisch ein Paket für Python erstellt wird?
Installier mit pip einfach das Paket "opencv-python" - du musst das nicht selbst bauen.

Edit: Was die "Aktualität" des Pakets angeht, schau bei den Versionen.
einfachTobi
User
Beiträge: 491
Registriert: Mittwoch 13. November 2019, 08:38

Bitte nicht den letzen Post voll zitieren - der steht schon direkt darüber.

Das ist das aktuelle Release. Wenn du eine andere Version haben möchtest, dann kannst du das ja bei pip angeben (müsste `pip -Iv install opencv-contrib-python==<version nr>` sein). Oder habe ich die Frage falsch verstanden?
smet
User
Beiträge: 4
Registriert: Dienstag 18. August 2020, 11:06

@Tobi: vorherigen Post zitieren: Sorry schlechte Angewohnheit --> werde das abstellen - im Zweifel gerne nochmal darauf hinweisen.


mmh hmm.. warum bau ich selber - weil ich das noch so gewohnt bin --> Also auch "schlechte" Angewohnheit

Okay dann lös ich das erstmal darüber. Bin halt gewohnt, dass das für CUDA Einstellungen später wieder etc pp angenehmer war. Bin aber auch kein pip-Profi. Muss mich da glaube auch erst reinfinden.

Dann Danke!
Falls dennoch mir jemand die obere Frage nach ner Weile lösen kann, wäre ich nicht unglücklich. Mittlerweile ist es Interesse. Bilde mir zumindest ein, dass ich das früher auch bei Python gebaut habe. Python selber jetzt bloß schon ne Weile nicht mehr verwendet.
Antworten