Speed-Cam.py Ver 11.26 et plus seront désormais fonctionner sous Raspberry Pi OS Bullseye ou plus tard avec un module de caméra PI ainsi que des caméras USBCAM et IP / RTSP. Pour la prise en charge de Picamera, exécutez Sudo Raspi-Config , les options d'interface, activez / désactivez l'option et redémarrez l'option et redémarrez.
IMPORTANT - Une mise à jour Raspbian Sudo apt-get et la mise à niveau Sudo apt-get ne seront pas effectuées dans le cadre de
Speed-stall.sh , il est donc fortement recommandé de les exécuter avant l'installation pour vous assurer que votre système est à jour.
Appuyez sur l'icône de copie GitHub sur le côté droit de la case de code ci-dessous.
ou avec le bouton de gauche de la souris sur la commande Curl dans la zone de code ci-dessous. Cliquez avec le bouton droit sur la souris dans la zone en surbrillance et sélectionnez Copier.
curl -L https://raw.github.com/pageauc/speed-camera/master/speed-install.sh | bash
Sur RPI Putty SSH ou la session du terminal cliquez avec le bouton droit, sélectionnez Coller puis entrez pour télécharger et exécuter le script.
Cela téléchargera et exécutera le script Speed-stall.sh . Si vous exécutez sous Python3, vous aurez besoin d'OpenCV3 installé si vous n'êtes pas installé. Si vous avez besoin de compiler OpenCVV, voir mon dépôt github à la compilation du menu OpenCv3 à partir du projet source
La version 13.05 est une révision majeure de la caméra à vitesse. Le code de filetage de la caméra est désormais géré par un module strmcam.py. Les noms de variables config.py ont changé, vous devrez donc sauvegarder et cp config.py.new config.py (voir ci-dessous pour plus de détails)
IMPORTANT : Tous les paramètres sont dans config.py. Vous pouvez supprimer configcam.py s'il existe, une fois que vous avez mis à niveau vers Ver 13.05 ou plus. Les plugins fonctionnent désormais. Vous pouvez personnaliser les fichiers de plugin aux besoins de vos besoins ou créer le vôtre. Si vous améliorez, vous devez supprimer, déplacez les anciens plugins afin que de nouveaux seront téléchargés lors de la mise à niveau. Veuillez publier le problème de GitHub si vous trouvez un bogue ou un problème. Claude
IMPORTANT SPEET-CAM.PY VER 8.X ou plus nécessite une configypie et des plugins mis à jour.
cd ~/speed-camera
cp config.py config.py.bak
cp config.py.new config.py
Pour remplacer les plugins Renommer (ou supprimer) le dossier des plugins par ci-dessous
cd ~/speed-camera
mv plugins pluginsold # renames plugins folder
rm -r plugins # deletes plugins folder
Ensuite, exécutez le menu de mise à niveau MenUbox.sh .
Voir Windows 10/11 ou Apple Mac Docker Installer Quick Start
ou des installations de distribution Windows ou Unix sans Docker
Il s'agit d'un programme de démonstration de démonstration de la caméra d'objet OpenCV Opencv Speed Rendatber Pi, Windows, Unix Distro Opercv. Il est écrit en Python et utilise OpenCV pour détecter et suivre les coordonnées x, y du plus grand objet en mouvement dans la vue de la caméra au-dessus d'une zone de pixel minimale.
Les variables utilisateur sont stockées dans le fichier config.py . La détection de mouvement est limitée entre MO_CROP_Y_UPPER , MO_CROP_Y_LOWER , MO_CROP_X_LEFT , MO_CROP_X_RIGHT Variables (route ou zone d'intérêt). Mo_crop_auto_on = True remplace les paramètres manuels et calculera automatiquement une zone de recadrage rugueuse en fonction de la taille de l'image. Le suivi du mouvement est contrôlé par la variable MO_TRACK_EVENT_COUNT dans config.py. Cela définit le nombre d'événements de piste et la longueur de piste dans les pixels. Cela peut devoir être réglé pour la vue de la caméra, la vitesse du processeur, etc. La vitesse est calculée en fonction des variables CAL_OBJ_PX_ et CAL_OBJ_MM_ pour la direction de mouvement L2R et R2L. Une image de trame de flux vidéo sera capturée et enregistrée dans les sous-dossiers de médias / images datés (facultatifs) par variable im_subdir_max_files = 2000 pour les détails des paramètres de variable voir le fichier config.py.
Si log_data_to_csv = true , alors un fichier speed-cam.csv sera créé / mis à jour avec les données d'événement stockées au format CSV (valeurs séparées par virgules). Cela peut être importé dans une feuille de calcul, une base de données, etc. Programme pour un traitement ultérieur. La version 8.9 ajoute une base de données SQLite3 pour stocker les données de vitesse. La valeur par défaut est des données / speed_cam.db avec des données dans le tableau de vitesse . Le paramètre de base de données peut être géré à partir de config.py. La base de données est automatiquement créée à partir des paramètres config.py. Pour plus de détails, voir comment gérer la base de données SQLite3
L'ordinateur Raspberry Pi et un module de caméra RPI installé ou une caméra USB branchée. Assurez-vous que le matériel est testé et fonctionne. La plupart des modèles RPI fonctionneront OK. Un RPI Quad Core améliorera considérablement les performances en raison du filetage. Une version récente du système d'exploitation Raspbian est recommandée.
ou
MS Windows ou Unix Distro Computer avec une caméra Web USB branchée et une version récente de Python installée pour plus de détails, voir les détails du wiki .
Il vous est recommandé de passer à OpenCV version 3.xx pour une compilation facile d'OpenCV 3.4.2 à partir de la source Voir https://github.com/pageauc/opeccv3-setup
Pour les plates-formes informatiques Windows ou Unix (non RPI ou Debian), assurez-vous d'avoir la version Python la plus à jour. Pour télécharger et installer Python et OpenCV
Les dernières versions Python comprennent la version Numpy et récente OpenCV qui est nécessaire pour exécuter ce code. Vous aurez également besoin d'une caméra Web USB installée et de travail. Pour installer ce programme, accédez à la page du projet GitHub à https://github.com/pageauc/speed-camera Sélectionnez le bouton Green Clone ou Télécharger . Les fichiers seront clonés ou zippés dans un dossier de caméra de vitesse. Vous pouvez exécuter le code à partir de l'application Python INDLE (recommandée), de la fenêtre de borne d'invite GUI de bureau ou d'invite de commande. Remarque Bash .Sh Shell Scripts ne fonctionnera pas avec Windows à moins que la prise en charge spéciale de Bash ne soit installée pour Windows, par exemple http://win-bash.sourceforge.net/ http://www.cygwin.com/ Remarque: Je ne les ai pas testés.
La caméra de vitesse prend en charge une installation Docker sur
Apple Macintosh par exigences et instructions du système
et
Microsoft Windows 10/11 64 bits avec la virtualisation du BIOS activé et le sous-système Microsoft Windows pour Linux WSL 2 par exigences et instructions du système.
config/config.pyDepuis la session RPI SSH ou le terminal de console, effectuez ce qui suit. Vous permet d'examiner le code d'installation avant d'exécuter
cd ~
wget https://raw.github.com/pageauc/speed-camera/master/speed-install.sh
more speed-install.sh # You can review code if you wish
chmod +x speed-install.sh
./speed-install.sh # runs install script.
cd ~/speed-camera
./speed-cam.py
Voir comment exécuter la section Wiki Speed-Cam.py
La caméra de vitesse importante commencera dans calibrate_on = mode vrai .
Examiner les paramètres dans les variables de fichier config.py et de modification avec Nano selon les besoins. Vous devrez effectuer un étalonnage pour définir la valeur correcte pour config.py cal_obj_px_ et cal_obj_mm_ pour les directions l2r et r2l. Les variables sont basées sur la distance entre la caméra et les objets mesurés pour la vitesse. Voir la procédure d'étalonnage pour plus de détails.
La variable de suivi de mouvement config.py appelé track_counter = peut être ajustée pour votre système et votre version OpenCV. La valeur par défaut est 5 mais un quad core RPI3 et la dernière version OpenCV EG 3.4.2 peut être 10-15 ou peut-être plus. Cela nécessitera la surveillance des messages de journal verbeux afin de s'affronter.
cd ~/speed-camera
./menubox.sh
Admin Speed-Cam plus facile à l'aide de menuBox.sh (une fois calibré et / ou test complet) 
Affichez les données et les tendances du navigateur Web à partir du navigateur Web par exemple d'écran. Ceux-ci peuvent être générés à partir de MenUbox.Sh Menu Pick ou en exécutant des scripts à partir de la console ou via le calendrier Crontab.



Vous pouvez afficher des images récentes ou historiques directement à partir de la page Speed Web Browser. Ceux-ci sont créés dynamiquement et affichent des images à jour. Appuyez sur le bouton Rafraîchissement de la page Web pour mettre à jour l'affichage 

Une partie de ce code est basée sur un tutoriel YouTube de Kyle Hounslow en utilisant C ici https://www.youtube.com/watch?v=x6rpdrzzgjg
Merci à Adrian Rosebrock Jrosebr1 sur http://www.pyimagesearch.com pour le code de classe Pivideostream disponible sur github à https://github.com/jrosebr1/imutils/blob/master/imutils/video/pivideostream.py
Amusez-vous
Claude Pageau
YouTube Channel https://www.youtube.com/user/pageaucp
Github repo https://github.com/pageauuc