programme de reconnaissance d'objets qui ne démarre mal
Modérateurs : Francois, Manfraid
programme de reconnaissance d'objets qui ne démarre mal
bonjour ,
j'essaye de faire tourner le programme de reconnaissance d'objets proposé sur le site de la framboise314 sur ma carte 3B+ et je bute sur des problèmes de base dès la ligne 5 du programme.
(j'ai des connaissances en informatique embarquée qui datent de 20 ans et je suis débutant en linux python et en raspberry)
j'ai installé python 3.7.3, OpenCV,imutils avec pip3 défini un environnement virtuel et recopié le code de reconnaissance d'objets dans un fichier .py. j'ai rajouté le dossier ou se trouve mon fichier python dans le PATH.
j'ai le message suivant: from imutils.video import VodeoStream ModuleNotFoundError: No module named 'imutils'. pourtant j'ai refait un pip3 install imutils pour être sur , mais le problème persiste.
help ! quelqu'un a une idée ?
merci d'avance
j'essaye de faire tourner le programme de reconnaissance d'objets proposé sur le site de la framboise314 sur ma carte 3B+ et je bute sur des problèmes de base dès la ligne 5 du programme.
(j'ai des connaissances en informatique embarquée qui datent de 20 ans et je suis débutant en linux python et en raspberry)
j'ai installé python 3.7.3, OpenCV,imutils avec pip3 défini un environnement virtuel et recopié le code de reconnaissance d'objets dans un fichier .py. j'ai rajouté le dossier ou se trouve mon fichier python dans le PATH.
j'ai le message suivant: from imutils.video import VodeoStream ModuleNotFoundError: No module named 'imutils'. pourtant j'ai refait un pip3 install imutils pour être sur , mais le problème persiste.
help ! quelqu'un a une idée ?
merci d'avance
Re: programme de reconnaissance d'objets qui ne démarre mal
Bonsoir.
Quand on a un message de ce genre (module python non trouvé) :
1) vérifier son orthographe : bon ok, le module dit manquant est lmutils mais tu as écrit :
Mais la 1ère ligne du code ne précise pas quelle version de python doit-être utilisée.
Donc je suppose que tu le lances par
??????
Car si tu fais à la place :
Alors ce sera la version par défaut de python sur ton système qui sera lancée et pas forcément python3
Pour savoir quelle version de python est lancée par défaut :
pip3 installe les module pour python3
pip les installe pour python2
(Oui, je sais, c'est nul ces incompatibilités de versions de python c'est son gros défaut, le mieux pour un débutant est de toujours utiliser python3 au début)
Maintenant, si tu as bien fait python3 reconnaissance_objets.py et sudo pip3 install lmutils (sans qu'une erreur ne ce soit produite)
alors là, je sèche, il faudrait voir ton code, et ta ligne de commande, et une copie exacte de l'erreur à l'écran.
Quand on a un message de ce genre (module python non trouvé) :
1) vérifier son orthographe : bon ok, le module dit manquant est lmutils mais tu as écrit :
C'estfrom imutils.video import VodeoStream
2) ensuite je n'ai pas écrit le programme en question et à vrai dire je ne le connais pas.from imutils.video import VideoStream
Mais la 1ère ligne du code ne précise pas quelle version de python doit-être utilisée.
Donc je suppose que tu le lances par
Code : Tout sélectionner
python3 reconnaissance_objets.py
??????
Car si tu fais à la place :
Code : Tout sélectionner
python reconnaissance_objets.py
Alors ce sera la version par défaut de python sur ton système qui sera lancée et pas forcément python3
Pour savoir quelle version de python est lancée par défaut :
Code : Tout sélectionner
python --version
pip les installe pour python2
(Oui, je sais, c'est nul ces incompatibilités de versions de python c'est son gros défaut, le mieux pour un débutant est de toujours utiliser python3 au début)
Maintenant, si tu as bien fait python3 reconnaissance_objets.py et sudo pip3 install lmutils (sans qu'une erreur ne ce soit produite)
alors là, je sèche, il faudrait voir ton code, et ta ligne de commande, et une copie exacte de l'erreur à l'écran.
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32
Re: programme de reconnaissance d'objets qui ne démarre mal
merci piper pour ta réponse rapide,
je ferai des copies de programme en rentrant a la maison en fin de journée. le "vodeo" c'est une faute de frappe, car j'ai recopié a la mano le message.
par contre je suis sur d'avoir utilisé python3 pour lancer et pip3 pour l'install de imutils. et c'est bien python 3.7.3 qui tourne, je l'avais verifié avec la commande "--version"
je suis moins sur de mon coup concernant le PATH, les repertoires ou sont installés python, les librairies, je ne sais pas trop ou tout ca a été mis lors de l'install. du coup je me demande si python trouve bien les modules/librairies, sans savoir comment vérifier.
j'ai aussi installé un environnement virtuel, car j'avais lu que c'était plus sur, et j'utilise workon au demarrage. mais je peux pas dire que j'ai compris à 100% les implications....
que de mystères.............
merci,
Jano31
*
je ferai des copies de programme en rentrant a la maison en fin de journée. le "vodeo" c'est une faute de frappe, car j'ai recopié a la mano le message.
par contre je suis sur d'avoir utilisé python3 pour lancer et pip3 pour l'install de imutils. et c'est bien python 3.7.3 qui tourne, je l'avais verifié avec la commande "--version"
je suis moins sur de mon coup concernant le PATH, les repertoires ou sont installés python, les librairies, je ne sais pas trop ou tout ca a été mis lors de l'install. du coup je me demande si python trouve bien les modules/librairies, sans savoir comment vérifier.
j'ai aussi installé un environnement virtuel, car j'avais lu que c'était plus sur, et j'utilise workon au demarrage. mais je peux pas dire que j'ai compris à 100% les implications....
que de mystères.............
merci,
Jano31
*
Re: programme de reconnaissance d'objets qui ne démarre mal
Dans une installation normale de python, on n'a pas a se soucier du path sous linux.
Mais dans un environnement virtualisé.....
Perso je fais confiance à mes.propres codes sources (un peu normal non ?) Donc utiliser une sandbox pour ça, je n'y voit pas l'intérêt. Sauf à s'imposer des environnements differents pour preparer un "kit d'installation" des développements qui seraient destinés à une redistribution soit sous la forme d'une vente, soit sous la forme d'un freeware.
Envoyé de mon SM-J710F en utilisant Tapatalk
Mais dans un environnement virtualisé.....
Perso je fais confiance à mes.propres codes sources (un peu normal non ?) Donc utiliser une sandbox pour ça, je n'y voit pas l'intérêt. Sauf à s'imposer des environnements differents pour preparer un "kit d'installation" des développements qui seraient destinés à une redistribution soit sous la forme d'une vente, soit sous la forme d'un freeware.
Envoyé de mon SM-J710F en utilisant Tapatalk
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32
Re: programme de reconnaissance d'objets qui ne démarre mal
merci piper pour ta réponse,
j'ai copié ci dessous le code et les différents messages d'erreur selon le contexte: (j'ai mis aussi le comportement en activant l'environnement virtuel, au cas ou ca peut aider...)
(le code vient de l'article de Framboise314 sir la reconnaissance d'objets:
# Ouvrir un terminal et executer la commande ci dessous
# python3 reconnaissance_objets.py --prototxt MobileNetSSD_deploy.prototxt.txt --model MobileNetSSD_deploy.caffemodel
#import imutils
# importer tout les packages requis
from imutils.video import VideoStream #----------plantage 1
from imutils.video import FPS
import numpy as np
import argparse
import time
import cv2
# packages nécessaires pour la gestion des emails
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
import ntpath
import pyautogui
# construction des arguments
ap = argparse.ArgumentParser()
ap.add_argument("-p", "--prototxt", required=True, #-----------plantage 2
help="path to Caffe 'deploy' prototxt file")
ap.add_argument("-m", "--model", required=True,
help="path to Caffe pre-trained model")
ap.add_argument("-c", "--confidence", type=float, default=0.2,
help="minimum probability to filter weak detections")
args = vars(ap.parse_args())
...........
...........
........
quand je lance le programme depuis Thonny, ca plante à "#-----------plantage 2" avec le commentaire suivant: (mais c'est pareil si je lance le programme du shell linux avec l'instruction python3 reconnaissanceobj.py)
Python 3.7.3 (/usr/bin/python3)
>>> %Run reconnaissanceobj.py
usage: reconnaissanceobj.py [-h] -p PROTOTXT -m MODEL [-c CONFIDENCE]
reconnaissanceobj.py: error: the following arguments are required: -p/--prototxt, -m/--model
si j'active mon environnement virtuel avec "workon janocv", ca plante toujours mais ailleurs (voir #----------plantage 1) avec ce message:
pi@janopi:~/Documents/pythonjano/reconnaissance_objets $ workon janocv
(janocv) pi@janopi:~/Documents/pythonjano/reconnaissance_objets $ python3 reconnaissanceobj.py
Traceback (most recent call last):
File "reconnaissanceobj.py", line 5, in <module>
from imutils.video import VideoStream
ModuleNotFoundError: No module named 'imutils'
bizarre.....
si ca vous inspire, tout commentaire est le bienvenu, merci!
bonsoir,
jano31
j'ai copié ci dessous le code et les différents messages d'erreur selon le contexte: (j'ai mis aussi le comportement en activant l'environnement virtuel, au cas ou ca peut aider...)
(le code vient de l'article de Framboise314 sir la reconnaissance d'objets:
# Ouvrir un terminal et executer la commande ci dessous
# python3 reconnaissance_objets.py --prototxt MobileNetSSD_deploy.prototxt.txt --model MobileNetSSD_deploy.caffemodel
#import imutils
# importer tout les packages requis
from imutils.video import VideoStream #----------plantage 1
from imutils.video import FPS
import numpy as np
import argparse
import time
import cv2
# packages nécessaires pour la gestion des emails
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
import ntpath
import pyautogui
# construction des arguments
ap = argparse.ArgumentParser()
ap.add_argument("-p", "--prototxt", required=True, #-----------plantage 2
help="path to Caffe 'deploy' prototxt file")
ap.add_argument("-m", "--model", required=True,
help="path to Caffe pre-trained model")
ap.add_argument("-c", "--confidence", type=float, default=0.2,
help="minimum probability to filter weak detections")
args = vars(ap.parse_args())
...........
...........
........
quand je lance le programme depuis Thonny, ca plante à "#-----------plantage 2" avec le commentaire suivant: (mais c'est pareil si je lance le programme du shell linux avec l'instruction python3 reconnaissanceobj.py)
Python 3.7.3 (/usr/bin/python3)
>>> %Run reconnaissanceobj.py
usage: reconnaissanceobj.py [-h] -p PROTOTXT -m MODEL [-c CONFIDENCE]
reconnaissanceobj.py: error: the following arguments are required: -p/--prototxt, -m/--model
si j'active mon environnement virtuel avec "workon janocv", ca plante toujours mais ailleurs (voir #----------plantage 1) avec ce message:
pi@janopi:~/Documents/pythonjano/reconnaissance_objets $ workon janocv
(janocv) pi@janopi:~/Documents/pythonjano/reconnaissance_objets $ python3 reconnaissanceobj.py
Traceback (most recent call last):
File "reconnaissanceobj.py", line 5, in <module>
from imutils.video import VideoStream
ModuleNotFoundError: No module named 'imutils'
bizarre.....
si ca vous inspire, tout commentaire est le bienvenu, merci!
bonsoir,
jano31
Re: programme de reconnaissance d'objets qui ne démarre mal
Boujour,
Sous Thonny, le programme ne plante pas !
Il te répond qu'il faut des arguments au lancement.
Et avec workon, attention, il risque de changer ton chemin de recherche système (donc ne pas trouver les bibliothèques que tu as installé sur python). Je ne connais pas workon, je ne pourrais pas t'aider là dessus.
Pour savoir si imutils est bien installé fait ceci :
Car pip3 freeze donne la liste de toutes les bibliothèques installées sous python3
| grep est un filtre qui ne sort que les lignes contenant l'argument qui suit (imutils)
-i dit à grep de ne pas faire de différences entre minuscules et majuscules.
Si imutils s'affiche c'est qu'il est installé, sinon c'est qu'il ne l'est pas
S'il ne l'est pas, tentent ceci , pour voir si le module n'est pas installé sur python2 (car sur un de mes pizero, avec une installation très très récente, par défaut, c'est python2.7 qui est choisis)
Sous Thonny, le programme ne plante pas !
Il te répond qu'il faut des arguments au lancement.
Et avec workon, attention, il risque de changer ton chemin de recherche système (donc ne pas trouver les bibliothèques que tu as installé sur python). Je ne connais pas workon, je ne pourrais pas t'aider là dessus.
Pour savoir si imutils est bien installé fait ceci :
Code : Tout sélectionner
sudo pip3 freeze | grep -i imutils
| grep est un filtre qui ne sort que les lignes contenant l'argument qui suit (imutils)
-i dit à grep de ne pas faire de différences entre minuscules et majuscules.
Si imutils s'affiche c'est qu'il est installé, sinon c'est qu'il ne l'est pas
S'il ne l'est pas, tentent ceci , pour voir si le module n'est pas installé sur python2 (car sur un de mes pizero, avec une installation très très récente, par défaut, c'est python2.7 qui est choisis)
Code : Tout sélectionner
sudo pip freeze | grep -i imutils
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32
Re: programme de reconnaissance d'objets qui ne démarre mal
merci piper,
a priori ca doit être installé, raspberry me répond "imutils==0.5.4"
je vais creuser cette histoire d'arguments, car j'ai copié le code proposé sur l'article framboise314 sans rien modifier, et il n'était pas précisé qu'il fallait passer des arguments....du coup j'avais cru que le code fonctionnait tel quel.
je vais chercher, si je ne trouve rien, je reviendrai sur ce post.
merci en tous cas,
jano31
a priori ca doit être installé, raspberry me répond "imutils==0.5.4"
je vais creuser cette histoire d'arguments, car j'ai copié le code proposé sur l'article framboise314 sans rien modifier, et il n'était pas précisé qu'il fallait passer des arguments....du coup j'avais cru que le code fonctionnait tel quel.
je vais chercher, si je ne trouve rien, je reviendrai sur ce post.
merci en tous cas,
jano31
Re: programme de reconnaissance d'objets qui ne démarre mal
Pas precisé ?
C'est précisé
Et c'est dans le code aussi
"the following arguments are required: -p/--prototxt, -m/--model"
Envoyé de mon SM-J710F en utilisant Tapatalk
C'est précisé
Et c'est dans le code aussi
"the following arguments are required: -p/--prototxt, -m/--model"
Envoyé de mon SM-J710F en utilisant Tapatalk
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32
Re: programme de reconnaissance d'objets qui ne démarre mal
merci Piper,
maintenant ca va un peu plus loin, mais ca plante sur cette instruction:
net = cv2.dnn.readNetFromCaffe(args["prototxt"], args["model"]) avec le code suivant: AttributeError: module 'cv2' has no attribute 'dnn'
Mais je vais chercher sur internet, j'ai vu qu'il y avait à lire sur ce thème. je reviendrai si je sèche....
bonne soiree
Jano31
maintenant ca va un peu plus loin, mais ca plante sur cette instruction:
net = cv2.dnn.readNetFromCaffe(args["prototxt"], args["model"]) avec le code suivant: AttributeError: module 'cv2' has no attribute 'dnn'
Mais je vais chercher sur internet, j'ai vu qu'il y avait à lire sur ce thème. je reviendrai si je sèche....
bonne soiree
Jano31
Re: programme de reconnaissance d'objets qui ne démarre mal
Bonsoir,
Tu ne dis pas cequi clochait au debut.
Sinon
Tu as bien installé ceci ?
pip3 install opencv-python
Envoyé de mon SM-J710F en utilisant Tapatalk
Tu ne dis pas cequi clochait au debut.
Sinon
Tu as bien installé ceci ?
pip3 install opencv-python
Envoyé de mon SM-J710F en utilisant Tapatalk
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32