Position actuelle: Accueil> Derniers articles> Comment se connecter à l'interface de segmentation d'image Baidu dans PHP?

Comment se connecter à l'interface de segmentation d'image Baidu dans PHP?

gitbox 2025-06-07

1. Préface

Le Deep Learning est un domaine de recherche populaire ces dernières années, parmi lequel la segmentation de l'image, comme l'une des applications importantes, a attiré une grande attention. Avec l'API de segmentation d'image fournie par Baidu, les développeurs peuvent simplifier le processus de mise en œuvre de l'algorithme et expérimenter rapidement et apprendre la technologie de segmentation d'image.

Cet article présentera comment utiliser PHP pour appeler l'interface de segmentation de l'image BAIDU pour atteindre la segmentation automatique des cibles d'image. Supposons que le lecteur possède déjà les connaissances liées à la demande de base PHP et HTTP.

2. Introduction à l'interface de segmentation d'image Baidu

L'interface de segmentation d'image Baidu est une API qui fournit des services de segmentation d'image intelligents. Après que l'utilisateur a soumis l'image, l'interface sépare automatiquement différentes cibles dans l'image et renvoie les données de masque correspondantes. Il prend en charge PNG, JSON et d'autres formats de sortie.

2.1 Adresse d'interface

L'adresse de demande de l'interface de segmentation d'image Baidu est la suivante:

 https://aip.baidubce.com/rest/2.0/image-classify/v1/body_seg

2.2 Paramètres d'interface

paramètre taper Est-ce nécessaire illustrer
Access_token chaîne Oui Token d'accès obtenu via l'autorisation OAuth2.0.
image chaîne Oui La chaîne codée Base64 de l'image prend en charge les formats PNG, JPEG et BMP, et la taille ne dépasse pas 4 Mo.
taper chaîne Non Renvoie le format de résultat, Valeurs prises en charge: Foreground (par défaut), arrière-plan, score.
seuil flotter Non Le seuil de segmentation, avec une plage de 0-1, indique la proportion de zone de découpe et la valeur par défaut est de 0,5.

2.3 Format de retour d'interface

Champs taper illustrer
premier plan chaîne L'image encodée de la base64 de l'objectif de prospect segmenté.
arrière-plan chaîne Image codée Base64 pour la partie d'arrière-plan.
score flotter Score de confiance pour les résultats de la segmentation.

3. PHP appelle l'interface de segmentation d'image Baidu

3.1 Obtenir un jeton d'accès

Avant d'appeler l'interface, vous devez obtenir le jeton d'accès fourni par la plate-forme de développeur Baidu. Pour des étapes spécifiques, veuillez vous référer aux documents officiels de Baidu.

$ access_token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';

3.2 Exemple d'envoi de demandes HTTP

Utilisez une extension Curl intégrée de PHP pour envoyer une demande postale à l'interface de segmentation d'image BAIDU et obtenez les données de réponse au format JSON.

$ url = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/body_seg';
$ image = '/path/to/image.jpg';
$ type = 'premier plan';
$ seuil = 0,5;
<p>$ data = array (<br>
&#39;access_token&#39; => $ Access_token,<br>
&#39;image&#39; => base64_encode (file_get_contents ($ image)),<br>
&#39;type&#39; => $ type,<br>
&#39;threshold&#39; => $ threshold,<br>
));</p>
<p>$ Options = Array (<br>
Curlopt_returntransfer => true,<br>
Curlopt_post => true,<br>
Curlopt_postfields => $ data,<br>
));</p>
<p>$ ch = curl_init ($ url);<br>
curl_setopt_array ($ ch, $ options);<br>
$ result = curl_exec ($ ch);<br>
curl_close ($ ch);<br>

Description du code:

  • Lisez le contenu de l'image locale et le codage de base64 en tant que paramètres d'interface.
  • Envoyez des demandes de publication via Curl et les données JSON renvoyées sont enregistrées dans la variable de résultat $.
  • Vous pouvez utiliser json_decode () pour analyser les données renvoyées pour obtenir le contenu spécifique.

3.3 Analyser et retourner les résultats et enregistrer des images

Dans les données JSON renvoyées, le premier plan de champ est l'image cible segmentée et est codé dans la base64. Il peut être décodé et enregistré en tant que fichier local.

$ result_arr = json_decode ($ result, true);
if (isset ($ result_arr [&#39;Foreground&#39;])) {
    $ base64_image = $ result_arr [&#39;Foreground&#39;];
    $ image_data = base64_decode ($ base64_image);
    file_put_contents (&#39;/ path / to / foreground.png&#39;, $ image_data);
}

Si vous avez besoin d'obtenir l'arrière-plan ou le niveau de confiance, vous pouvez ajuster le paramètre de type en arrière-plan ou score et traiter séparément les champs correspondants.

4. Résumé

Cet article présente comment PHP peut rapidement se connecter à l'interface de segmentation d'images de Baidu et explique les paramètres d'interface, la demande de processus et l'analyse des résultats en détail, en aidant les développeurs à réaliser facilement la fonction de segmentation d'image. Le code peut être élargi en fonction des besoins réels et appliqué à plus de scénarios de traitement d'image.