J'essaye de tester ma picamera sur thonny python ide sur mon raspberry pi mais j'obtiens une erreur:
import numpy as np import cv2 cap = cv2.VideoCapture(0) cap.set(3,640) # set Width cap.set(4,480) # set Height while(True): ret, frame = cap.read() frame = cv2.flip(frame, -1) # Flip camera vertically gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) cv2.imshow('frame', frame) cv2.imshow('gray', gray) k = cv2.waitKey(30) & 0xff if k == 27: # press 'ESC' to quit break cap.release() cv2.destroyAllWindows()
J'ai déjà essayé de rechercher des solutions possibles, mais je n'ai pas pu le faire car je ne comprends pas ce qu'ils essayaient de dire à propos de -latomic. je suis assez nouveau dans ce domaine.
Traceback (most recent call last): File "/home/pi/Documents/Camera_test.py", line 2, in <module> import cv2 File "/usr/lib/python3/dist-packages/thonny/backend.py", line 305, in _custom_import module = self._original_import(*args, **kw) File "/home/pi/.local/lib/python3.7/site-packages/cv2/__init__.py", line 3, in <module> from .cv2 import * File "/usr/lib/python3/dist-packages/thonny/backend.py", line 305, in _custom_import module = self._original_import(*args, **kw) ImportError: /home/pi/.local/lib/python3.7/site-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: undefined symbol: __atomic_fetch_add_8
4 Réponses :
Si vous installez opencv, essayez
dans votre environnement virtuel
"pip install opencv-contrib-python == 3.4.3.18"
J'étais également confronté au même problème en suivant ce totorial https://www.pyimagesearch.com/2019/09/16/install-opencv-4-on-raspberry-pi-4-and-raspbian-buster/
dans les commentaires est résolu dans ce lien et résolvez également la même chose pour moi grâce à lui: - https://www.pyimagesearch.com/2019/09/16/install-opencv-4-on-raspberry-pi-4-and -raspbian-buster / # comment-572080
et voici ce qu'il écrit: -
#Je suis le tutoriel avec RP4, 1 Go de mémoire, sur Buster.
Je voyais l'erreur suivante après avoir suivi l'étape 4 (a), la compilation complète, lors de la vérification de l'installation cv2 à partir de la console Python (étape 5):
ImportError: /home/pi/.virtualenvs/cv/lib/python3.7/site-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: symbole non défini: __atomic_fetch_add_8
J'ai pu résoudre le problème avec les étapes suivantes:
1 - $ sudo find / -type f -name ' atom .so *' /usr/lib/arm-linux-gnueabihf/libatomic.so.1.2.0
2 - LD_PRELOAD = / usr / lib / arm-linux-gnueabihf / libatomic.so.1.2.0 python3
3 - Python 3.7.3 (par défaut, 3 avril 2019, 05:39:12) [GCC 8.2.0] sous linux Tapez «help», «copyright», «credits» ou «license» pour plus d'informations.
import cv2 print ( version cv2) 4.1.1
J'espère que cela aidera n'importe qui avec le même problème…
J
#Aussi pour vos informations lorsque je suis un autre tuotrail pour le même écrivain, cela fonctionnait bien avec moi sans problème, voici le lien: -
https://www.pyimagesearch.com/2018/09/26/install-opencv-4-on-your-raspberry-pi/
Je suis encore 15 jours d'expérience en python et raspberry pi donc désolé pour toute erreur en ce qui concerne les avantages
Utilisez OpenCV contrib avec la bonne version.
pip install opencv-contrib-python==4.1.0.25
Voir la réponse à la fin de cet article.
Cela a fonctionné pour moi sur un RPi 4. Je n'ai pas eu la chance d'essayer la réponse d'Ismael.
Malheureusement, cela n'a pas fonctionné sur mon RPi4, mais heureusement, stackoverflow.com/a/60237868/4831224 a fonctionné.
Suivez ces étapes, cela a bien fonctionné pour moi:
sudo apt-get mise à jour
sudo apt-get install libhdf5-dev -y && sudo apt-get install libhdf5-serial-dev -y && sudo apt-get install libatlas-base-dev -y && sudo apt-get install libjasper-dev -y && sudo apt -get installer libqtgui4 -y && sudo apt-get installer libqt4-test -y
installation de pip3 --user opencv-contrib-python
pip installer opencv-python
Pour vérifier si OpenCV est correctement installé ou non, essayez d'importer OpenCV en tapant: Exécutez python shell python3
puis tapez: import cv2
Si aucune erreur n'apparaît, votre installation a réussi!
Pour savoir de quelle version d'OpenCV vous disposez, tapez la commande suivante: cv2. version
sudo apt installer libatlas3-base sudo apt-get installer python3-numpy
sudo apt mise à jour sudo apt-get install python3-matplotlib -y
Pour ce que ça vaut, j'ai le même problème lors de l'importation d'OpenCV sur mon Raspberry Pi Compute Module 3, donc au moins nous ne sommes pas seuls.
Le truc, c'est que cela fonctionne sur le terminal, mais pas sur thonny ide.
La solution de contournement pour ce problème OpenCV est de définir la variable d'environnement LD_PRELOAD (ce n'est pas la même chose qu'une variable en Python) pour provoquer le chargement de la bibliothèque manquante: LD_PRELOAD = / usr / lib / arm-linux-gnueabihf / libatomic.so .1 Malheureusement, je n'ai pas trouvé de moyen de définir des variables d'environnement dans l'EDI Thonny.
Je vous recommande de suivre ce problème GitHub sur la version PiWheels OpenCV. Espérons qu'une version fixe de la roue OpenCV sera bientôt disponible. github.com/piwheels/packages/issues/59