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.
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'il est activéGDÉtendu
?>
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'image gratuite
imagedestroy($image);
?>
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.
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.
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.
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.
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.
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.