Si vous n'utilisez pas de virtualenv, le module cv2 est importé avec succès
(env) nano@nano:~$ python3 Python 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 Traceback (most recent call last): File "<stdin>", line 1, in <module> ModuleNotFoundError: No module named 'cv2'
Cependant, si vous créez un environnement virtuel, cv2 est introuvable
nano@nano:~$ python3 Python 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> cv2.__version__ '3.3.1' >>>
3 Réponses :
Soit vous pouvez installer opencv dans un environnement virtuel, soit vous pouvez créer un lien symbolique de bibliothèque vers env vitual dans bashrc.
ln -s source_file destination_file
Plus spécifiquement, il semble que vous deviez créer un lien symbolique opencv comme:
first: cd dans votre venv / lib / python3.6 / site-packages
et:
ln -s /usr/lib/python3.6/dist-packages/cv2.cpython-36m-aarch64-linux-gnu.so cv2.cpython-36-m-aarch64-linux-gnu.so
Pour moi, c'est le chemin: /usr/local/lib/python3.6/dist-packages/cv2/python-3.6/cv2.cp ython-36m-aarch64-li nux-gnu.so code>. Vous pouvez effectuer une recherche individuelle avec cette commande: find / usr / local -name "* opencv *" -o -name "* cv2 *"
Une chose plus pratique: vous pouvez entrer le dictionnaire site-package de virtualenv activé avec cette commande: cdsitepackages
Vous pouvez copier le répertoire /usr/local/lib/python3.6/dist-packages/cv2/ dans votre dossier d'environnement virtuel, par exemple env / lib / python3.6 / dist-packages / cv2 /
OpenCV doit être installé sous virtualenv. Consultez ce guide .
Normalement, ce serait correct, mais ce n'est pas le bon conseil pour la plate-forme Jetson. Nvidia propose une version personnalisée d'OpenCV qui tire parti de l'accélération GPU. L'installation d'OpenCV de cette façon fonctionnera, mais vous ne pourrez pas profiter pleinement du matériel.