Appeler l’API 3.2 Analyse d’image

Cet article explique comment appeler l’API Analyse d’image 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 part du principe que vous avez déjà créé une ressource Vision , puis obtenu une clé ainsi qu’une URL de point de terminaison. Si vous utilisez un SDK client, vous devez également authentifier un objet client. Si vous n’avez pas effectué ces étapes, suivez le guide de démarrage rapide pour bien démarrer.

Envoyer des données au service

Le code de ce guide utilise des images distantes référencées par URL. Vous souhaiterez peut-être essayer différentes images pour observer toutes 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, vous placez les données d’image binaire dans le corps de la demande 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. Consultez la vue d’ensemble pour obtenir une description de chaque caractéristique. Les exemples fournis dans les sections ci-dessous ajoutent toutes les caractéristiques visuelles disponibles, mais pour une utilisation pratique, vous n’aurez 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écessitera davantage de temps de calcul. Par conséquent, spécifiez uniquement 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 recherche les coordonnées de rectangle qui rogneraient l’image sur un rapport d’aspect souhaité tout en préservant la zone d’intérêt.
features Objects détecte les différents objets dans une image, notamment leur emplacement approximatif. L’argument Objects est disponible uniquement 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 de l’Analyse d’image peuvent être appelées directement, ainsi que par le biais d’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 volumineuse.
    • NotSupportedVisualFeature - Le type de caractéristique spécifié n’est pas valide.
    • NotSupportedImage - Image non prise en charge, par exemple, pédopornographie.
    • InvalidDetails - Type de paramètre detail non pris 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 expiré.
    • 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 Nouvelle tentative dans le guide des modèles de conception de cloud et le modèle Disjoncteur connexe.

Étapes suivantes