Inhaltsverzeichnis:

Face-Tracking-Pistole - Gunook
Face-Tracking-Pistole - Gunook

Video: Face-Tracking-Pistole - Gunook

Video: Face-Tracking-Pistole - Gunook
Video: Self-Loading Face Tracking Nerf Turret with Arduino and OpenMV Vision 2024, November
Anonim
Face-Tracking-Pistole
Face-Tracking-Pistole

Dieses Projekt ist eine Erweiterung des hier gezeigten Laser-Trip-Wire-Gun-Projekts - https://www.instructables.com/id/Building-a-Sentry-Gun-with-Laser-Trip-Wire-System-/?ALLSTEPS Der Unterschied besteht darin, dass die Waffe nicht durch einen Laser, sondern durch ein Gesicht ausgelöst wird. Grundsätzlich kombiniert dieses Projekt Face-Tracking und die Laser-Trip-Wire-Pistole, also eine Face-Tracking-Pistole. Der für die Gesichtsverfolgung verwendete Algorithmus ähnelt dem von techbitar - https://www.instructables.com/id/Face-detection-and-tracking-with-Arduino-and-OpenC/?ALLSTEPS Um Gesicht zu implementieren Tracking wird openCV verwendet. OpenCV (Open Source Computer Vision) ist eine Bibliothek von Programmierfunktionen für Computer Vision in Echtzeit. Ihre Bibliothek kann gefunden werden:

Schritt 1:

Bild
Bild

Montieren Sie zunächst die Webcam an der Waffe. Ich habe einen Kabelbinder verwendet, um sie zusammen zu binden.

Schritt 2: Einrichten von Microsoft Visual C++ für OpenCV

Vor der Einrichtung schreibe ich diese Anleitung basierend auf der Tatsache, dass ich ein 32-Bit-Windows-Betriebssystem verwende. Ich bin mir nicht sicher, ob es für 64 Bit funktioniert, aber probieren Sie es einfach aus. Laden Sie zunächst OpenCV von https://sourceforge.net/projects/opencvlibrary/ herunter. Extrahieren Sie es in das Stammverzeichnis C:\. Ich würde empfehlen, es in OpenCV2.4.0 umzubenennen, da ich die Pfade entsprechend festlegen werde. Danach müssen wir den Pfad in den Windows-Umgebungsvariablen auf das bin-Verzeichnis von OpenCV setzen. Gehen Sie dazu zu Systemsteuerung – System und Sicherheit – System – Erweiterte Systemeinstellungen – Umgebungsvariablen. Suchen Sie unter "Systemvariablen" nach "Pfad". Doppelklicken Sie darauf und fügen Sie „;C:\OpenCV2.4.0\build\x86\vc10\bin“hinzu. ps Wenn Sie das Semikolon am Anfang sehen, träumen Sie nicht. Sie müssen es auch eingeben. Diese eine Sache hat mir vorher viele Probleme bereitet. Zweitens laden Sie Visual Studio von https://www.microsoft.com/en-us/download/details.aspx?id=12752 herunter, falls Sie es noch nicht haben. HO HO HO…. Wir sind SUUPER bereit, ein Projekt zu erstellen. ähm, sry ich liebe OP zu sehr. Gehen Sie also zum Visual Studio und klicken Sie auf "Neues Projekt". Wählen Sie die Win32-Konsolenanwendung aus und geben Sie den Namen Ihres Projekts ein. Es öffnet sich ein Fenster, klicken Sie auf Weiter und wählen Sie unter zusätzlichen Optionen "Projekt leeren" und klicken Sie auf Fertig stellen. Klicken Sie in Ihrem Lösungs-Explorer mit der rechten Maustaste auf Quelldateien Neues Element hinzufügen. Wählen Sie C++-Datei aus, geben Sie Ihren Namen ein und klicken Sie auf Hinzufügen. Gehen Sie nun zu Arbeitsplatz und öffnen Sie „C:\OpenCV2.4.0\samples\c“und öffnen Sie faceetect.cpp. Kopieren Sie den Code und fügen Sie ihn in Ihre neu erstellte C++-Datei ein. Sie werden sehen, dass es eine Reihe von roten Linien gibt, da Visual Studio die Funktionen und Bibliotheken noch nicht finden kann. Gehen Sie dazu zu Projekt-Eigenschaften (Alt + F7). Hier sollten wir Alle Konfigurationen aus der Dropdown-Liste Konfiguration auswählen. Wählen Sie dann C/C++ General Additional Include Directories und fügen Sie „C:\OpenCV2.4.0\build\include“hinzu. Wählen Sie als Nächstes Linker General Additional Library Directories und fügen Sie „C:\OpenCV2.4.0\build\x86\vc10\lib“hinzu. Wählen Sie anschließend Linker Input Additional Dependencies aus und fügen Sie dort die erforderlichen Bibliotheksdateinamen hinzu. Einige Beispiele: 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_imgproc240. opencv_ts240.lib, opencv_video240.lib Dies sind die Release-Versionen von lib-Dateien, wenn Sie dem Dateinamen das Suffix „d“hinzufügen, wird es zur Debug-Version, z opencv_core240.lib – Release-Version, opencv_core240d.lib – Debug-Version. Wir haben gerade All Configurations gewählt, also sollten wir nach dem Hinzufügen der notwendigen Lib-Dateien die Konfiguration auf Debug ändern und den Lib-Dateien das Suffix „d“hinzufügen. Beachten Sie, dass dies nicht alle Bibliotheksdateien sind, die Ihnen zur Verfügung stehen. Um alle zu sehen, gehen Sie zu "C:\OpenCV2.4.0\build\x86\vc10\lib". Gehen Sie als nächstes zu https://threadingbuildingblocks.org/ver.php?fid=171 und laden Sie tbb30_20110427oss_win.zip herunter. Ändern Sie nach dem Herunterladen und Entpacken den Verzeichnisnamen von etwa „tbb30_20110427oss“in „tbb“. Gehen Sie dann zu Arbeitsplatz und „C:\OpenCV2.4.0\build\common“. Es gibt ein weiteres tbb-Verzeichnis, benennen Sie es für die Sicherung in „tbb_old“um. Kopieren Sie dann das neu heruntergeladene und umbenannte tbb-Verzeichnis an diesen Speicherort „C:\OpenCV2.4.0\build\common“. Wir müssen auch das bin-Verzeichnis des neuen tbb-Speicherorts zum Pfad in den Umgebungsvariablen hinzufügen. Gehen Sie also zu Systemsteuerung System und Sicherheit System Erweiterte Systemeinstellungen Umgebungsvariablen und suchen Sie nach Pfad im Abschnitt Systemvariablen, und fügen Sie dann ";C:\OpenCV2.4.0\build\common\tbb\bin\ia32\vc10" hinzu.

Schritt 3: Benötigte Software

OpenCV v2.4.0: https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.0/ Serielle C++ Bibliothek für Win32 (von Thierry Schneider): https://www.tetraedre.ch/advanced/ serial.php-Code für Arduino: https://snipt.org/vvfe0 C++-Code für die Gesichtsverfolgung: