wake-up-neo.com

Kann Modul cv2 bei Verwendung von OpenCV nicht finden

Ich habe OpenCV auf dem Occidentalis-Betriebssystem (eine Variante von Raspbian) auf einem Himbeer-Pi mit dem Skript von jayrambhia installiert hier . Es installierte Version 2.4.5.

Wenn ich import cv2 in einem Python Programm versuche, wird folgende Meldung angezeigt:

[email protected]~$ python cam.py
Traceback (most recent call last)
File "cam.py", line 1, in <module>
    import cv2
ImportError: No module named cv2

Die Datei cv2.so ist in /usr/local/lib/python2.7/site-packages/... gespeichert.

Es gibt auch Ordner in /usr/local/lib mit den Namen python3.2 und python2.6, was ein Problem sein könnte, aber ich bin mir nicht sicher.

Ist das vielleicht ein Pfadfehler? Jede Hilfe wird geschätzt, ich bin neu in Linux.

199
user2971844

Führen Sie zuerst diese Befehle in Terminal/CMD aus:

conda update anaconda-navigator  
conda update navigator-updater  

dann wird das Problem für die Anweisung unten behoben

für Windows, wenn Sie Anaconda installiert haben, können Sie einfach tun

pip install opencv-python

oder

conda install -c https://conda.binstar.org/menpo opencv

wenn Sie unter Linux arbeiten, können Sie Folgendes tun:

pip install opencv-python

oder

conda install opencv 

Link1Link2

Überprüfen Sie für Python3.5 + diese Links: Link , Link4

270
Breeze

Dies passiert, wenn python nicht auf Ihren Standardordner für Site-Pakete verweisen kann, in dem Sie die erforderlichen python Dateien oder Bibliotheken gespeichert haben

Fügen Sie diese Zeilen in den Code ein:

import sys

sys.path.append('/usr/local/lib/python2.7/site-packages')

oder bevor Sie den Befehl python in bash ausführen, verschieben Sie ihn in das Verzeichnis / usr/local/lib/python2.7/site-packages. Dies ist eine Problemumgehung, wenn Sie dem Code nichts hinzufügen möchten.

64
Midhun

Versuchen Sie, die folgende Zeile in ~/.bashrc einzufügen

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
37
lanpa

Ich habe mein Problem mit dem folgenden Befehl gelöst:

conda install opencv
37

Python3.x-Benutzer

Sudo pip3 install opencv-python
16
Anoop Kumar

Keine der obigen Antworten hat bei mir funktioniert. Ich wurde verrückt, bis ich diese Lösung unten fand!

Einfach ausführen:

Sudo apt install python-opencv
13
Fatmajk

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

pip install cv2

Wenn ich jedoch CV2-Modul importiere, wird kein Modul mit dem Namen CV2-Fehler angezeigt.
Dann habe ich cv2.pyd Dateien auf meinem Computer gesucht und gefunden und kopiere und füge sie in das Site-Packages-Verzeichnis ein

C:\Python27\Lib\site-packages

dann habe ich die bestehende anwendung geschlossen und wieder geöffnet, es hat funktioniert.

EDIT Ich werde erklären, wie man cv2 richtig installiert.

1. Installieren Sie zuerst numpy auf Ihrem Computer mit

pip install numpy


2. Download opencv aus dem Internet (fast 266 mb).
Ich lade opencv-2.4.12.exe für python 2.7 herunter. Installieren Sie dann diese opencv-2.4.12.exe-Datei.
Ich habe nach C:\Users\harun\Downloads in diesen Ordner extrahiert.
Suchen Sie nach der Installation in den Ordnern nach cv2.py.
Für mich

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

in diesem Ordner nimm den cv2.pyd und kopiere ihn in den

C:\Python27\Lib\site-packages

jetzt können Sie cv2 in python Skripten verwenden.

7
Harun ERGUL

Wenn Sie opencv in einer virtuellen Umgebung installieren möchten. Führen Sie den Befehl im Terminal aus, um die Liste der virtuellen Umgebungen abzurufen.

conda env list

oder jupyter notebook befehl ist

!conda env list

Dann aktualisieren Sie Ihre Anaconda.

conda update anaconda-navigator
conda update navigator-updater

Installieren Sie opencv in Ihrem ausgewählten Umgebungspfad.

conda install -c ['environment path'] opencv

Juypter Notizbuch

!conda install --yes --prefix ['environment path'] opencv
5
Shiva Manhar

WENN SIE VON SCRATCH GEBAUT HABEN, GEHEN SIE DURCH

Du erhältst No module named cv2.cv. Sohn, du hast alles richtig gemacht, da dein Sudo make install keine Fehler gab.

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 SEHR WICHTIGE SCHRITT ALLER DIESER IS, UM ES ZU VERBINDEN.

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

In dem Moment, in dem Sie sich für eine sinnvolle Verknüpfung entscheiden oder die Datei cv2.so mit brachialer Gewalt finden, ob diese existiert oder nicht

Hier werfe ich meine Ausgabe.

    Successfully installed 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
Package    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 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>> 
[2]+  Stopped                 python
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/c
ls: cannot access '/usr/local/lib/python2.7/site-packages/c': No such file or directory
(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/
total 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 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>> 
[3]+  Stopped                 python
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ find / -name "cv2.so"
find: ‘/lost+found’: Permission denied
find: ‘/run/udisks2’: Permission denied
find: ‘/run/docker’: Permission denied
find: ‘/run/exim4’: Permission denied
find: ‘/run/lightdm’: Permission denied
find: ‘/run/cups/certs’: Permission denied
find: ‘/run/Sudo’: Permission denied
find: ‘/run/samba/ncalrpc/np’: Permission denied
find: ‘/run/postgresql/9.5-main.pg_stat_tmp’: Permission denied
find: ‘/run/postgresql/10-main.pg_stat_tmp’: Permission denied
find: ‘/run/lvm’: Permission denied
find: ‘/run/systemd/inaccessible’: Permission denied
find: ‘/run/lock/lvm’: Permission denied
find: ‘/root’: Permission denied
^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ sudofind / -name "cv2.so"
sudofind: command not found
(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] password for app: 
find: ‘/run/user/1000/gvfs’: Permission denied
^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
click/                        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: failed to create symbolic link 'cv2.so': File exists
(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 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> 

Mein Schritt wird nur helfen, wenn Ihr gebaut richtig gemacht wird.

3
TheExorcist

Ich habe mein Problem mit dem folgenden Befehl gelöst:

pip install opencv-python
2
jincy mariam

Ich hatte das gleiche Problem, konnte es nur nicht herausfinden, wenn opencv2 und opencv3 in/opt/opencv bzw. opencv3 installiert waren. Es stellte sich heraus, dass sich die verdammte Anaconda-Installation von opencv in meinem Home-Verzeichnis zuerst im Pfad befand und opencv verstümmelte. Entfernte es und startete die Verwendung von/opt/opencv3/lib, wie in /etc/ld.so.conf.d/opencv.conf definiert. Hat einwandfrei funktioniert. Haben Sie Anaconda installiert? Könnte das Problem sein.

0
Eamonn Kenny

Probieren Sie dies aus:

Sudo ldconfig

Sudo nano /etc/ld.so.conf.d/opencv.conf

fügen Sie diese folgende Zeile in das opencv.conf ein, das sich nicht im Befehlsfenster befindet

/usr/local/lib

Dann:

Sudo ldconfig

Sudo nano /etc/bash.bashrc

fügen Sie diese beiden Zeilen in das bash.bashrc ein, das sich nicht im Befehlsfenster befindet

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig       
export PKG_CONFIG_PATH

starte endlich deinen Pi Sudo reboot now neu

und versuche import cv2

0
Tes3awy