Position actuelle: Accueil> Derniers articles> Tutoriel sur la reconnaissance d'impact sur les images utilisant PHP et OpenCV

Tutoriel sur la reconnaissance d'impact sur les images utilisant PHP et OpenCV

M66 2025-06-19

introduction

La reconnaissance de l'expression du visage est une direction de recherche importante dans le domaine de la vision par ordinateur et est largement utilisée dans plusieurs scénarios pratiques tels que l'interaction humaine-ordinateur et la surveillance des émotions. Cet article présentera comment utiliser les bibliothèques PHP et OpenCV pour reconnaître les expressions du visage dans les images et joindre un exemple de code pertinent.

1. Préparation

Avant de commencer, nous devons préparer les outils et environnements suivants.

1. Installez la bibliothèque OpenCV

OpenCV est une bibliothèque de vision par ordinateur open source qui fournit de nombreuses fonctions et classes pour le traitement d'image et la vision de l'ordinateur. Pour utiliser OpenCV, nous devons d'abord l'installer dans le système. Voici les commandes pour installer OpenCV sur le système Ubuntu:

 sudo apt-get install libopenv-dev

2. Installez l'extension PHP

Afin d'utiliser la bibliothèque OpenCV dans PHP, nous devons également installer l'extension OpenCV de PHP. Vous pouvez l'installer via la commande suivante:

 sudo apt-get install php7.4-opencv

3. Préparez l'image de test

Afin de tester le code de reconnaissance d'expression faciale, vous devez préparer des images de test contenant le visage et différentes expressions. Vous pouvez télécharger des photos pertinentes sur Internet et les enregistrer localement.

2. Écrivez le code

Maintenant, nous pouvons commencer à écrire du code de reconnaissance d'expression faciale. Voici un exemple simple de code pour détecter les visages et identifier les expressions dans les images:

<?php
// ImporterOpenCVetPHPÉtendu
use OpenCVHighgui{CV_LOAD_IMAGE_COLOR, imshow, waitKey};
use OpenCV{CascadeClassifier, Mat};

// Modèle de détection de visage de chargement
$cascade = new CascadeClassifier();
$cascade-> chargement (&#39;haarcascade_frontalface_default.xml&#39;);

// Chargez le modèle de reconnaissance Emoticône $ Reconnateur = lbPhfaceCognizer :: Create ();
$ Recognizer-> read (&#39;face_recognnizer.yml&#39;);

// expression tag $ labels = [«en colère», «heureuse», «neutre», «triste»];

// Chargez l&#39;image de test $ image = imread (&#39;test_image.jpg&#39;, cv_load_image_color);

// convertit l&#39;image en niveaux de gris $ gris = cvtColor ($ image, cv_bgr2Gray);

// détecter les visages $ visages = [];
$ Cascade-> DetectMultiscale ($ gris, $ visages);

// Reconnaissance d&#39;expression foreach ($ visages comme $ face) {
    // Extraction de la zone de visage $ roi = $ gris-> subat ($ face);

    // redimensionner l&#39;image $ redimensive = redimensive ($ roi, nouveau tapis (100, 100));

    // Expression prédictive $ label = 0;
    $ confiance = 0;
    $ Reconnateur-> Prédire ($ Residize, $ Label, $ Confiance);

    // montre les résultats des émoticônes rectangle ($ image, $ face-> x, $ face-> y, $ face-> x + $ face-> largeur, $ face-> y + $ face-> hauteur, scalar :: all (255));
    putText ($ image, $ étiquettes [$ label], nouveau point ($ face-> x, $ face-> y - 20), font_hershey_simplex, 0,8, scalar :: all (255));
}

// Afficher l&#39;image imshow («Reconnaissance d&#39;expression faciale», $ image);
WaitKey (0);
?>

3. Exécutez le code

Après avoir fini d'écrire le code, vous pouvez l'exécuter avec la commande suivante:

 php facial_expression_recognition.php

Après la course, vous devriez être en mesure de voir les faces détectées dans l'image, et chaque zone de visage est marquée de l'expression correspondante.

en conclusion

En utilisant des bibliothèques PHP et OpenCV, vous pouvez facilement réaliser la reconnaissance d'expression faciale dans les images. L'exemple de code fourni dans cet article montre comment détecter les visages et reconnaître leurs expressions en images. Vous pouvez évoluer et optimiser ce code en fonction des besoins réels.

Veuillez noter que l'utilisation spécifique des bibliothèques et des classes utilisées dans les exemples peut changer avec les mises à jour de la version, veuillez vous adapter en fonction de la version que vous utilisez.