438 Stimmen

Kann das Modul cv2 nicht finden, wenn OpenCV verwendet wird

Ich habe OpenCV auf dem Occidentalis-Betriebssystem (einer Variante von Raspbian) auf einem Raspberry Pi installiert, indem ich dieses Skript von jayrambhia verwendet habe. Es wurde Version 2.4.5 installiert.

Wenn ich in einem Python-Programm import cv2 versuche, erhalte ich folgende Meldung:

pi@raspberrypi~$ python cam.py
Traceback (most recent call last)
File "cam.py", line 1, in 
    import cv2
ImportError: No module named cv2

Die Datei cv2.so befindet sich unter /usr/local/lib/python2.7/site-packages/...

Es gibt auch Ordner in /usr/local/lib namens python3.2 und python2.6, falls das relevant ist.

Wie kann ich das Problem beheben? Wird dies durch eine Pfadfehkkonfiguration verursacht?

11voto

Snow Albert Punkte 511

Ich löse dies, indem ich den Code ausführe pip install opencv_contrib_python

9voto

Mohamed Fathallah Punkte 188

Einfach

python -m pip install --upgrade pip

Dann

pip install opencv-python

8voto

Harun ERGUL Punkte 5306

Ich bin auf dasselbe Problem gestoßen, ich habe cv2 installiert durch

pip install cv2

Aber als ich das cv2 Modul importierte, wurde der Fehler "no module named cv2" angezeigt.
Dann habe ich nachgeschaut und cv2.pyd Dateien auf meinem Computer gefunden und habe sie in das site-packages Verzeichnis kopiert und eingefügt

C:\Python27\Lib\site-packages

dann habe ich die vorhandene Anwendung geschlossen und wieder geöffnet, dann hat es funktioniert.

BEARBEITEN Ich werde erklären, wie man cv2 korrekt installiert.

1. Installieren Sie zuerst numpy auf Ihrem Computer mit

pip install numpy

2. Laden Sie opencv aus dem Internet herunter (fast 266 MB).
Ich habe opencv-2.4.12.exe für Python 2.7 heruntergeladen. Installieren Sie dann diese opencv-2.4.12.exe Datei.
Ich habe sie nach C:\Users\harun\Downloads extrahiert.
Nach der Installation suchen Sie nach cv2.py in den Ordnern.
Für mich

C:\Users\harun\Downloads\opencv\build\python\2.7\x64

In diesem Ordner nehmen Sie diecv2.pyd und kopieren sie in das

C:\Python27\Lib\site-packages

jetzt können Sie cv2 in Ihren Python-Skripten verwenden.

6voto

TheExorcist Punkte 1794

WENN SIE VON GRUND AUF BAUEN, GEHEN SIE DURCH DIESEN PROZESS

Sie erhalten Kein Modul namens cv2.cv. Sohn, du hast alles richtig gemacht, da dein sudo make install keine Fehler aufwies.

Schauen Sie sich jedoch diesen Schritt an

$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so

DER ALLERWICHTIGSTE SCHRITT IST ES, ES ZU VERKNÜPFEN.

ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so 
oder 
ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so

Im Moment, in dem Sie sich für eine kluge Verknüpfung entscheiden oder durch reine Kraft einfach die existierende Datei cv2.so finden oder nicht

Hier werfe ich mein Ergebnis.

    Erfolgreich installiert numpy-1.15.3
(cv) demonLover-desktop:~$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ pip list
Paket    Version
-------- -------
numpy    1.15.3 
pip      18.1   
setuptools 40.5.0 
wheel    0.32.2 
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ python
Python 2.7.12 (Standard, 4. Dez 2017, 14:50:18) 
[GCC 5.4.0 20160609] auf linux2
Geben Sie "help" ein, "copyright", "credits" oder "license" für mehr Informationen.
>>> import cv2
Traceback (zuletzt aufgerufener Anruf) (most recent call last):
  File "", Zeile 1, in 
ImportError: Kein Modul namens cv2
>>> 
[2]+  Angehalten                 python
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/c
ls: kann auf '/usr/local/lib/python2.7/site-packages/c' nicht zugegriffen werden: Datei oder Verzeichnis nicht gefunden
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ deactivate 
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls
cv2.so  easy_install.py  easy_install.pyc  numpy  numpy-1.15.3.dist-info  pip  pip-18.1.dist-info  pkg_resources  setuptools  setuptools-40.5.0.dist-info  wheel  wheel-0.32.2.dist-info
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls -l  /usr/local/lib/python2.7/site-packages/
insgesamt 0
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls
cv2.so  easy_install.py  easy_install.pyc  numpy  numpy-1.15.3.dist-info  pip  pip-18.1.dist-info  pkg_resources  setuptools  setuptools-40.5.0.dist-info  wheel  wheel-0.32.2.dist-info
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ workon cv
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ python
Python 2.7.12 (Standard, 4. Dez 2017, 14:50:18) 
[GCC 5.4.0 20160609] auf linux2
Geben Sie "help" ein, "copyright", "credits" oder "license" für mehr Informationen.
>>> import cv2
Traceback (zuletzt aufgerufener Anruf) (most recent call last):
  File "", Zeile 1, in 
ImportError: Kein Modul namens cv2
>>> 
[3]+  Angehalten                 python
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ find / -name "cv2.so"
find: „/lost+found“: Keine Berechtigung
find: „/run/udisks2“: Keine Berechtigung
find: „/run/docker“: Keine Berechtigung
find: „/run/exim4“: Keine Berechtigung
find: „/run/lightdm“: Keine Berechtigung
find: „/run/cups/certs“: Keine Berechtigung
find: „/run/sudo“: Keine Berechtigung
find: „/run/samba/ncalrpc/np“: Keine Berechtigung
find: „/run/postgresql/9.5-main.pg_stat_tmp“: Keine Berechtigung
find: „/run/postgresql/10-main.pg_stat_tmp“: Keine Berechtigung
find: „/run/lvm“: Keine Berechtigung
find: „/run/systemd/inaccessible“: Keine Berechtigung
find: „/run/lock/lvm“: Keine Berechtigung
find: „/root“: Keine Berechtigung
^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ sudofind / -name "cv2.so"
sudofind: Befehl nicht gefunden
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ sudo find / -name "cv2.so"
[sudo] Passwort für app: 
find: „/run/user/1000/gvfs“: Keine Berechtigung
^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ sudo find /usr/ -name "cv2.so"
/usr/local/lib/python2.7/dist-packages/cv2.so
^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/dist-packages/ccv2.so cv2.so
Klicken/                        clonevirtualenv.pyc           configparser-3.5.0.dist-info/ configparser.py               cv2.so                        cycler.py
clonevirtualenv.py            concurrent/                   configparser-3.5.0-nspkg.pth  configparser.pyc              cycler-0.10.0.dist-info/      cycler.pyc
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so
ln: es konnte kein symbolischer Link namens 'cv2.so' erstellt werden: Die Datei existiert bereits
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ rm cv2.so 
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls
cv2.so  easy_install.py  easy_install.pyc  numpy  numpy-1.15.3.dist-info  pip  pip-18.1.dist-info  pkg_resources  setuptools  setuptools-40.5.0.dist-info  wheel  wheel-0.32.2.dist-info
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ python
Python 2.7.12 (Standard, 4. Dez 2017, 14:50:18) 
[GCC 5.4.0 20160609] auf linux2
Geben Sie "help" ein, "copyright", "credits" oder "license" für mehr Informationen.
>>> import cv2
>>> 

Mein Schritt wird nur helfen, wenn Ihr Build richtig gemacht wurde.

6voto

Udesh Ranjan Punkte 1368

Für Python3x Benutzer

$ sudo pip3 install opencv-python

Für Python2x Benutzer

$ sudo pip install opencv-python

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X