Partager via


Appeler l’API 3.2 Analyse d’image

Cet article explique comment appeler l’API Analyse d’image version 3.2 pour retourner des informations sur les caractéristiques visuelles d’une image. Il montre également comment analyser les informations retournées à l’aide des SDK clients ou de l’API REST.

Ce guide suppose que vous avez déjà créé une ressource Vision, et obtenu une clé et une URL de point de terminaison. Si vous utilisez un Kit de développement logiciel (SDK) client, vous devez également authentifier un objet client. Pour plus d’informations sur ces étapes, consultez Démarrage rapide : Analyse d’image.

Envoyer des données au service

Le code de ce guide utilise des images distantes référencées par URL. Vous pouvez essayer des images différentes de votre choix pour voir toute la puissance des fonctionnalités d’Analyse d’image.

Lors de l’analyse d’une image distante, vous spécifiez l’URL de l’image en mettant en forme le corps de la demande comme ceci : {"url":"http://example.com/images/test.jpg"}.

Pour analyser une image locale, placez les données binaires de l’image dans le corps de la requête HTTP.

Déterminer le mode de traitement des données

Sélectionner des caractéristiques visuelles

L’API Analyser vous permet d’accéder à toutes les fonctionnalités d’analyse d’image du service. Choisissez les opérations à effectuer en fonction de votre propre cas d’usage. Pour obtenir une description de chaque fonctionnalité, consultez la Vue d’ensemble d’Azure AI Vision. Les exemples des sections suivantes ajoutent toutes les caractéristiques visuelles disponibles, mais pour une utilisation pratique, vous n’avez probablement besoin que d’une ou de deux d’entre elles.

Vous pouvez spécifier les caractéristiques que vous voulez utiliser en définissant les paramètres de requête d’URL de l’API Analyse. Un paramètre peut avoir plusieurs valeurs, séparées par des virgules. Chaque caractéristique que vous spécifiez nécessite davantage de temps de calcul : spécifiez donc seulement ce dont vous avez besoin.

Paramètre d’URL Valeur Description
features Read Lit le texte visible dans l’image et le génère sous forme de données JSON structurées.
features Description Décrit le contenu de l’image avec une phrase complète dans les langues prises en charge.
features SmartCrops Trouve les coordonnées du rectangle qui rognerait l’image à des proportions souhaitées tout en préservant la zone intéressante.
features Objects détecte les différents objets dans une image, notamment leur emplacement approximatif. L’argument Objects est disponible seulement en anglais.
features Tags Étiquette l’image avec une liste détaillée de mots liés au contenu de l’image.

Une URL remplie peut se présenter comme suit :

<endpoint>/vision/v3.2/analyze?visualFeatures=Tags

Spécifier les langues

Vous pouvez également spécifier la langue des données retournées.

Le paramètre de requête d’URL suivant spécifie la langue. La valeur par défaut est en.

Paramètre d’URL Valeur Description
language en Anglais
language es Espagnol
language ja Japonais
language pt Portugais
language zh Chinois simplifié

Une URL remplie peut se présenter comme suit :

<endpoint>/vision/v3.2/analyze?visualFeatures=Tags&language=en

Obtenir les résultats du service

Cette section montre comment analyser les résultats de l’appel d’API. Elle inclut l’appel d’API lui-même.

Notes

Appels d’API étendues

Certaines des fonctionnalités d’Analyse d’image peuvent être appelées directement ou via un appel de l’API Analyser. Par exemple, vous pouvez effectuer une analyse étendue aux étiquettes d’image uniquement en effectuant une requête à <endpoint>/vision/v3.2/tag (ou à la méthode correspondante dans le SDK). Consultez la documentation de référence pour découvrir d’autres fonctionnalités qui peuvent être appelées séparément.

Le service retourne une réponse HTTP 200, et le corps contient les données retournées sous la forme d’une chaîne JSON. Le texte suivant est un exemple de réponse JSON.

{
    "metadata":
    {
        "width": 300,
        "height": 200
    },
    "tagsResult":
    {
        "values":
        [
            {
                "name": "grass",
                "confidence": 0.9960499405860901
            },
            {
                "name": "outdoor",
                "confidence": 0.9956876635551453
            },
            {
                "name": "building",
                "confidence": 0.9893627166748047
            },
            {
                "name": "property",
                "confidence": 0.9853052496910095
            },
            {
                "name": "plant",
                "confidence": 0.9791355729103088
            }
        ]
    }
}

Codes d’erreur

Consultez la liste suivante des erreurs possibles et leurs causes :

  • 400
    • InvalidImageUrl – L’URL de l’image est incorrecte ou inaccessible.
    • InvalidImageFormat – Les données d’entrée ne sont pas une image valide.
    • InvalidImageSize – L’image d’entrée est trop grande.
    • NotSupportedVisualFeature – Le type de caractéristique spécifié n’est pas valide.
    • NotSupportedImage – Image non prise en charge, par exemple de la pédopornographie.
    • InvalidDetails – Valeur du paramètre detail non prise en charge.
    • NotSupportedLanguage – L’opération demandée n’est pas prise en charge dans la langue spécifiée.
    • BadArgument – Plus de détails sont fournis dans le message d’erreur.
  • 415 : erreur de type de support non pris en charge. Le type Content-Type ne figure pas dans les types autorisés :
    • Pour une URL d’image, Content-Type doit être application/json
    • Pour les données d’image binaire, Content-Type doit être application/octet-stream ou multipart/form-data
  • 500
    • FailedToProcess
    • Timeout – Le traitement de l’image a dépassé le délai d’expiration.
    • InternalServerError

Conseil

Quand vous utilisez Azure AI Vision, vous pouvez rencontrer des défaillances temporaires causées par des limites de taux imposées par le service ou d’autres problèmes passagers comme des pannes du réseau. Pour plus d’informations sur la gestion de ces types d’échecs, consultez le Modèle de nouvelle tentative dans le guide Modèles de conception cloud et le modèle Disjoncteur qui s’y rapporte.