Utilisation de CVZONE

Bonjour,
l’environnement virtuel avait bien été créé avant cette copie d’écran,
avec python -m venv monenv
on l’observe bien dans la ligne (monenv)alain@raspberrypi:~$ …
ou je fait un upgrade de cvzone … qui confirme que l’installation « is satisfied »
Le problème est pourquoi Python ne prend pas en compte « import cvzone » à l’exécution, alors que c’est OK pour opencv qui pourtant avait été chargé dans le site-packages(from cvzone) !!! (voir la planche no 1)
Alain

Quel est exactement e message d’erreur.
J’ai installé un environnement comme suit:

python3 -m venv scripts/py/env
source scripts/py/env/bin/activate
python3 -m pip install cvzone
deactivate

puis j’ ai créé un fichier script/py/test.py
avec seulement 3 lignes:

 #!/home/michel/scripts/py/env/bin/python
 import cv2
 import cvzone

Je l’ai rendu exécutable avec la commande chmod +x scripts/py/test.py
puis démarré avec la commande: script/py/test.py et pas d’erreur, il trouve bien cvzone.

hello,

si tu lances tonny depuis le menu graphique, il ne doit pas tenir compte de ton environnement virtuel .
si mon hypothèse est correcte la solution est peut être d’ouvrir un console, d’ activer ton environnement virtuel et d’y lancer tonny .

Je pense avoir suivi les conseils de Mik91390 et bof … sans résultat !
Le message d’erreur est celui affiché lors de l’exécution du programme comme montré dans la planche No1, en rouge: No module named ‹ cvzone ›
Question: quelqu’un peut-il exécuter ce petit programme ne comportant que 2 lines de code sans obtenir le meme message d’erreur ?
import cv2
import cvzone

ça me permettrai ensuite de vérifier ou est mon erreur ?
cordialement
Alain

Capture d'écran 2024-04-24 141804
Voila le résultat.

Hello Michel, vous pouvez vérifier sur la copie d’écran ci-dessous que j’arrive au méme résultat que vous… mais lorsque j’exécute un programme Python avec un import CVZONE, j’obtiens un message d’erreur: 'No module name ‹ cvzone ›.
Il serait intéressant que vous me montriez l’exécution de ce méme petit programme de 2 lignes sans message d’erreur, ce qui me permettrai de compendre mon erreur
par avance merci
Alain

Il ne faut pas lancer le programme à partir de L’IDE, Mais en ligne de commande dans un terminal
Au lieu de copie d’écran peux tu mettre des copies texte,.
Et le sheebang doit indiquer le chemin vers l’environnement et il me semble que ton environnement ne se trouve pas dans /home/alain/scripts/py

??? les examples sur le web concernant cvzone avec rapsberry pi sont tous dans des fenetres!
je viens du monde Windows, je ne connais donc que le lancement d’un programme à partir de l’IDE:
peux-tu me donner un exemple avec test.py (contenant uniquement import cv2 et import cvzone) pour que j’essaye…
par avance merci
Alain

Tu remonte à mon avant dernier post, et tu vois les commandes dans mon terminal

tu pourrais essayer l ide code (Visual Studio Code — Wikipédia)
dans un terminal sudo apt install code
et la doc ici : https://code.visualstudio.com/
en se positionnant dans le dossier virtuel et après l’activation de l environnement virtuel, il démarre en tapant : « code » et après l ajout de quelques extensions ( et les packages (modules) nécessaire ) malgré quelques bizarreries … ça peut faire le taf :wink:

bonjour bof,
ce que tu présentes parait intéressant, j’ai envi d’essayer, mais question: as-tu fait tourner toi-meme Code avec ce que tu montres à l’écran (exécution de cvzone) … c’est pour me rasurer avant de plonger dedans !
Alain

pour info, je viens de charger CODE et après avoir installé cvzone dans un environnement virtuel, j’ai exécuté un progamme python comprenant 2 instructions import cv2 et import cvzone … et c’est BOF (sans jeu de mot). ça ne m’étonne pas car CODE est un IDE idem Thonny.
Si ça marche avec toi, c’est peut-etre que tu utilise un OS de type Rabian Booster, ce qui expliquerai bien des choses


a suivre…
Alain

Dans ce post tu avais bon, tu as démarré le programme dans un terminal et pas d’erreur, alors que dans Thonny il ne trouve pas la librairie cvzone
Si j’en croie limage que tu as posté dans le terminal pas d’erreur.
https://forum.raspberry-pi.fr/t/utilisation-de-cvzone/15690/20?u=mik91390

Bonjour,

A tout hasard, avez-vous vérifié qu’aucun fichier cvzone.py n’était présent ?

A+

Bonjour jelopo,
Aucun fichier cvzone.py ne semble present.
j’avais lancer ce poste pour lever le doute concernant la compatibilité de cvzone avec la version récente de raspberry pi OS (64bit) sur un PI 5. La réponse est clairement non.
C’était de la curiosité car on peut faire de l’IA simplement sans cvzone avec par exemple tensorflow lite.
Pour info, mon idée en débutant avec un PI 5 était de développer des applications mobiles en partant de mes logiciels développés avec YOLO en utilisant notebook/google colab pour l’entrainement des modèles.
A+
Alain

C’est faux, dans cette image tu montres que l’import de cvzone fonctionne à condition de lancer le programme en ligne de commande.
CVzone-2

Hello Mik91390,
C’est clair qu’un module dont le nom est « cvzone » a bien été chargé… de là à dire qu’il est exécutable avec le raspbeery pi OS 64 bit …« telle est la question »
peux-tu me montrer un exemple d’un programme tournant avec cvzone, meme très simple ?
par avance merci
Alain

Désolé mais je ne connait pas cvzone, et je n’ ai pas de camera sur le pi, mais si le module s’importe c’est qu’il est exécutable.
Je cherche des exemples que je puisse essayé sur mon Pi5 avec bookworm.

Voici un petit script qui montre cvzone en action:

#!/home/michel/scripts/py/env/bin/python
# coding=UTF-8
import cv2
import cvzone
print ("Import de cvzone OK")
imgNormal = cvzone.downloadImageFromUrl(
    url='https://github.com/cvzone/cvzone/blob/master/Results/shapes.png?raw=true')

imgPNG = cvzone.downloadImageFromUrl(
    url='https://github.com/cvzone/cvzone/blob/master/Results/cvzoneLogo.png?raw=true',
    keepTransparency=True)
imgPNG =cv2.resize(imgPNG,(0,0),None,3,3)

cv2.imwrite('Image.png', imgPNG)
cv2.imwrite('ImageNorm.png', imgNormal)
cv2.waitKey(0)

script qui fonctionne les images sot bien chargées puis sauvegardées sur mon PI

Bravo, manifestement le script fonctionne.


Alain