Die Erkennung von Gesichtsexpression ist eine wichtige Forschungsrichtung im Bereich des Computer Vision und wird in mehreren praktischen Szenarien wie der Interaktion zwischen Mensch und Komputer und Emotionsüberwachung häufig verwendet. In diesem Artikel wird vorgestellt, wie PHP- und OpenCV -Bibliotheken verwendet werden, um Gesichtsausdrücke in Bildern zu erkennen und einen relevanten Beispielcode anzuhängen.
Bevor wir beginnen, müssen wir die folgenden Tools und Umgebungen vorbereiten.
OpenCV ist eine Open -Source -Computer -Vision -Bibliothek, die zahlreiche Funktionen und Klassen für die Bildverarbeitung und die Computer Vision bietet. Um OpenCV zu verwenden, müssen wir es zunächst im System installieren. Hier sind die Befehle, um OpenCV auf Ubuntu -System zu installieren:
sudo apt-get install libopencv-dev
Um die OpenCV -Bibliothek in PHP zu verwenden, müssen wir auch die OpenCV -Erweiterung von PHP installieren. Sie können es über den folgenden Befehl installieren:
sudo apt-get installieren Sie Php7.4-OpenCV
Um den Erkennungscode des Gesichtsausdrucks zu testen, müssen Sie einige Testbilder, die das Gesicht und verschiedene Ausdrücke enthalten, erstellen. Sie können relevante Bilder aus dem Internet herunterladen und sie lokal speichern.
Jetzt können wir mit dem Schreiben von Gesichtsausdruckserkennungscode beginnen. Hier ist ein einfacher Beispielcode zum Erkennen von Gesichtern und zur Identifizierung von Ausdrücken in Bildern:
<?php // ImportOpenCVUndPHPErweitert use OpenCVHighgui{CV_LOAD_IMAGE_COLOR, imshow, waitKey}; use OpenCV{CascadeClassifier, Mat}; // Modell Erkennungsmodell beladen $cascade = new CascadeClassifier(); $cascade-> load ('haarcascade_frontalface_default.xml'); // Laden Sie das Emoticon -Erkennungsmodell $ ecuscizer = lbPhfaCerecognizer :: Create (); $ erkennen-> read ('face_recognizer.yml'); // Ausdruck Tag $ labels = ['Angry', 'Happy', 'Neutral', 'Sad']; // laden Sie das Testbild $ image = imRead ('test_image.jpg', cv_load_image_color); // das Bild in Graustufen $ Gray = cvtcolor ($ image, cv_bgr2gry) konvertieren; // Faces $ faces = [] erkennen; $ Cascade-> DetectMultiscale ($ Gray, $ Faces); // Ausdruckserkennung für Each ($ faces als $ face) { // Face Area $ roi = $ grau-> submat ($ face); // Image im Bild $ $ resized = Größe ($ ROI, neue Matte (100, 100)); // Predictive Expression $ label = 0; $ Confidence = 0; $ erkennen // Emoticon-Ergebnisse Rechteck zeigen ($ Image, $ face-> x, $ face-> y, $ face-> x + $ face-> width, $ face-> y + $ face-> Höhe, Scalar :: All (255)); PutText ($ image, $ labels [$ label], neuer Punkt ($ face-> x, $ face-> y-20), font_hershey_simplex, 0,8, scalar :: alle (255)); } // Bild imshow anzeigen ('Gesichtsausdruckerkennung', $ image); WaitKey (0); ?>
Nachdem Sie den Code geschrieben haben, können Sie ihn mit dem folgenden Befehl ausführen:
PHP facial_expression_recognition.php
Nach dem Laufen sollten Sie in der Lage sein, die im Bild erkannten Gesichter zu sehen, und jeder Gesichtsbereich ist mit dem entsprechenden Ausdruck gekennzeichnet.
Durch die Verwendung von PHP- und OpenCV -Bibliotheken können Sie in Bildern leicht die Erkennung von Gesichtsausdruck erhalten. Der in diesem Artikel bereitgestellte Beispielcode zeigt, wie Gesichter erfasst und ihre Ausdrücke in Bildern erkannt werden. Sie können diesen Code entsprechend den tatsächlichen Anforderungen skalieren und optimieren.
Bitte beachten Sie, dass sich die spezifische Verwendung der in den Beispielen verwendeten Bibliotheken und Klassen mit Versionsaktualisierungen ändern kann. Anpassen Sie bitte die von Ihnen verwendete Version.