Position actuelle: Accueil> Derniers articles> ImageOpenPolygon () Pratique d'application dans le système d'étiquetage d'images

ImageOpenPolygon () Pratique d'application dans le système d'étiquetage d'images

M66 2025-05-29

Dans les systèmes de traitement et d'étiquetage d'images, nous devons souvent étiqueter des zones spécifiques de l'image. Une exigence commune consiste à étiqueter la zone d'intérêt en dessinant des polygones. En tant que puissant langage de script côté serveur, PHP peut être utilisé pour traiter les images via la bibliothèque GD. La fonction ImageOpenPolygon () dans la bibliothèque GD fournit la fonction du dessin de polygones, qui convient particulièrement à la mise en œuvre de l'annotation des polygones sur les images.

Cet article utilisera un exemple pour montrer comment implémenter l'annotation des polygones à l'aide de la fonction ImageOpenPolygon () en PHP, et fournir des techniques d'application pratiques.

1. Préparation

Tout d'abord, nous devons nous assurer que la bibliothèque GD de PHP est installée et activée. Si vous n'avez pas installé la bibliothèque GD, vous pouvez l'installer via la commande suivante:

 sudo apt-get install php-gd

Ensuite, assurez-vous d'activer les extensions GD dans votre script PHP:

 <?php
phpinfo();  // Vérifiez s&#39;il est activéGDÉtendu
?>

2. Créez une image et préparez-vous à dessiner

Ensuite, nous créerons une image simple et dessinerons un polygone à l'aide de la fonction ImageOpenPolygon () .

 <?php
// Créer une nouvelle image,Le fond est blanc
$image = imagecreatetruecolor(500, 500);
$white = imagecolorallocate($image, 255, 255, 255);  // Fond blanc
$black = imagecolorallocate($image, 0, 0, 0);  // Noir peint

// 填充Le fond est blanc
imagefill($image, 0, 0, $white);

// Coordonnées de vertex des polygones
$polygon = [
    100, 100,  // sommet1
    400, 100,  // sommet2
    400, 400,  // sommet3
    100, 400   // sommet4
];

// utiliserimageopenpolygonDessiner des polygones
imageopenpolygon($image, $polygon, count($polygon) / 2, $black);

// Image de sortie au navigateur
header('Content-Type: image/png');
imagepng($image);

// Mémoire d&#39;image gratuite
imagedestroy($image);
?>

3. Explication du code

  1. Créez une image : Tout d'abord, utilisez la fonction ImageCreateTrueColor () pour créer une image de 500x500 pixels. Ensuite, nous utilisons ImageColorAllocate () pour attribuer des ressources de couleur à l'image, des lignes de dessin pour fond blanc et noir respectivement.

  2. Définissez les sommets d'un polygone : les sommets d'un polygone sont définis par un tableau. Le réseau de polygones $ contient les coordonnées de 4 sommets, et chaque nombre représente les coordonnées x et y d'un point.

  3. Dessinez des polygones : utilisez la fonction ImageOpenPolygon () pour dessiner des polygones. Le premier paramètre de cette fonction est la ressource d'image, le deuxième paramètre est le tableau de sommet, le troisième paramètre est le nombre de sommets (Remarque: Le tableau contient des coordonnées x et y, donc le nombre de sommets doit être la moitié de la longueur du tableau), et le quatrième paramètre est la couleur de dessin.

  4. Image de sortie : Enfin, utilisez ImagePng () pour sortir l'image vers le navigateur et définir l'en-tête de réponse sur l'image / PNG afin que le navigateur puisse analyser correctement et afficher l'image.

4. Application supplémentaire

Dans les applications pratiques, vous pouvez ajuster la forme et la position du polygone en fonction de vos besoins. Par exemple, vous pouvez générer des annotations de polygones dynamiques en générant des coordonnées entrées par les utilisateurs ou dessiner des annotations en combinant des données dans la base de données. Par exemple, vous pouvez obtenir un ensemble de coordonnées de la base de données et générer différents polygones pour étiqueter différentes régions.

De plus, vous pouvez ajouter plus d'éléments à l'image, tels que des commentaires de texte, des étiquettes de différentes couleurs, etc. ImageOpenPolygon () , vous pouvez facilement implémenter la fonction d'étiquetage de la zone sur l'image.

5. Résumé

La fonction ImageOpenPolygon () nous fournit un moyen pratique d'implémenter le dessin de polygone dans la bibliothèque GD de PHP, qui est très adapté au système d'annotation d'image. En utilisant cette fonction de manière flexible, vous pouvez ajouter des annotations personnalisées à l'image pour atteindre des fonctions de marquage d'image plus riches et plus précises.