Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Ce projet est une extension du projet de pistolet à fil laser montré ici - https://www.instructables.com/id/Building-a-Sentry-Gun-with-Laser-Trip-Wire-System-/?ALLSTEPS Le seul la différence est que le pistolet ne sera pas déclenché par un laser mais par un visage. Fondamentalement, ce projet combine le suivi du visage et le pistolet à fil laser, donc un pistolet de suivi du visage. L'algorithme utilisé pour le suivi du visage est similaire à celui de techbitar - https://www.instructables.com/id/Face-detection-and-tracking-with-Arduino-and-OpenC/?ALLSTEPS suivi, openCV est utilisé. OpenCV (open source computer vision) est une bibliothèque de fonctions de programmation pour la vision par ordinateur en temps réel. Leur bibliothèque peut être trouvée:
Étape 1:
Tout d'abord, montez la webcam sur le pistolet. J'ai utilisé un serre-câble pour les attacher ensemble.
Étape 2: Configuration de Microsoft Visual C++ pour OpenCV
Avant la configuration, je vais écrire ce guide en me basant sur le fait que j'utilise un système d'exploitation Windows 32 bits. Je ne sais pas si cela fonctionne pour le 64 bits, mais n'hésitez pas à essayer. Tout d'abord, téléchargez OpenCV depuis https://sourceforge.net/projects/opencvlibrary/. Extrayez-le dans le répertoire racine C:\. Je recommanderais de le renommer en OpenCV2.4.0 car je définirai des chemins en fonction de celui-ci. Après cela, nous devons définir le chemin dans les variables d'environnement Windows vers le répertoire bin d'OpenCV. Pour ce faire, allez dans Panneau de configuration – Système et sécurité – Système – Paramètres système avancés – Variables d'environnement. Sous "Variables système", recherchez "Chemin". Double-cliquez dessus et ajoutez ";C:\OpenCV2.4.0\build\x86\vc10\bin". ps Si vous voyez le point-virgule au début, vous ne rêvez pas. Il faut aussi le mettre. Cette seule chose m'a causé beaucoup de problèmes avant. Deuxièmement, téléchargez visual studio si vous ne l'avez pas déjà à partir de https://www.microsoft.com/en-us/download/details.aspx?id=12752. HO HO HO…. Nous sommes SUUPER prêts à créer un projet. ahem, sry j'aime trop OP. Allez donc dans Visual Studio et cliquez sur "Nouveau Projet". Sélectionnez l'application console win32 et entrez le nom de votre projet. Une fenêtre apparaîtra, cliquez sur Suivant et sélectionnez "Vider le projet" sous les options supplémentaires et cliquez sur Terminer. Sur votre explorateur de solutions, cliquez avec le bouton droit sur Fichiers sources Ajouter un nouvel élément. Sélectionnez Fichier C++, entrez votre nom et cliquez sur Ajouter. Allez maintenant sur Poste de travail et ouvrez « C:\OpenCV2.4.0\samples\c » et ouvrez faceetect.cpp. Copiez le code et collez-le dans votre fichier C++ nouvellement créé. Vous verrez qu'il y a un tas de lignes rouges car Visual studio n'est pas encore capable de localiser les fonctions et les bibliothèques. Pour ce faire, allez dans Project-Propriétés (Alt + F7). Ici, nous devons sélectionner Toutes les configurations dans la liste déroulante Configuration. Sélectionnez ensuite les répertoires d'inclusion supplémentaires généraux C/C++ et ajoutez « C:\OpenCV2.4.0\build\include ». Ensuite, sélectionnez Linker General Additional Library Directories et ajoutez « C:\OpenCV2.4.0\build\x86\vc10\lib ». Après cela, sélectionnez Linker Input Additional Dependencies et ajoutez-y les noms de fichiers de bibliothèque nécessaires. Quelques exemples: opencv_calib3d240.lib, opencv_contrib240.lib, opencv_core240.lib, opencv_features2d240.lib, opencv_flann240.lib opencv_gpu240.lib, opencv_haartraining_engine.lib, opencv_highgui240.lib, opencv,libacy, opencv_imgproclibcvcvcv. opencv_ts240.lib, opencv_video240.lib Ce sont les versions de publication des fichiers lib, si vous ajoutez le suffixe "d" au nom de fichier, il devient la version de débogage, par exemple opencv_core240.lib – version publiée, opencv_core240d.lib – version de débogage. Nous venons de choisir Toutes les configurations, donc après avoir ajouté les fichiers lib nécessaires, nous devons modifier la configuration pour déboguer et ajouter le suffixe "d" aux fichiers lib. Notez que ce ne sont pas tous les fichiers de bibliothèque disponibles. Pour les voir tous, allez dans "C:\OpenCV2.4.0\build\x86\vc10\lib". Ensuite, allez sur https://threadingbuildingblocks.org/ver.php?fid=171 et téléchargez tbb30_20110427oss_win.zip. Après l'avoir téléchargé et décompressé, changez le nom du répertoire de quelque chose comme « tbb30_20110427oss » en « tbb ». Ensuite, allez dans Poste de travail et "C:\OpenCV2.4.0\build\common". Il existe un autre répertoire tbb, renommez-le en « tbb_old » pour la sauvegarde. Copiez ensuite le répertoire tbb récemment téléchargé et renommé dans cet emplacement "C:\OpenCV2.4.0\build\common". Nous devons également ajouter le nouveau répertoire bin de l'emplacement tbb au chemin dans les variables d'environnement. Alors, allez dans Panneau de configuration Système et système de sécurité Paramètres système avancés Variables d'environnement et recherchez Chemin dans la section Variables système, puis ajoutez «; C:\OpenCV2.4.0\build\common\tbb\bin\ia32\vc10".
Étape 3: Logiciel requis
OpenCV v2.4.0: https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.0/ Bibliothèque Serial C++ pour Win32 (par Thierry Schneider): https://www.tetraedre.ch/advanced/ serial.php Code pour arduino: https://snipt.org/vvfe0 Code C++ pour le suivi du visage: