Appeler l’API Azure AI Vision par ordinateur 3.2 en disponibilité générale

Ce guide vous montre comment appeler l’API Read v3.2 GA pour extraire du texte des images. Vous découvrirez les différentes façons dont vous pouvez configurer le comportement de cette API pour répondre à vos besoins. Ce guide part du principe que vous avez déjà créé une ressource Vision et obtenu une clé ainsi qu’une URL de point de terminaison. Si vous ne l'avez pas encore fait, suivez un guide de démarrage rapide pour commencer.

Éditions OCR (Read)

Important

Sélectionnez l’édition Read qui répond le mieux à vos besoins.

Entrée Exemples Édition Read Avantage
Images : Images génériques générales étiquettes, panneaux de rue et affiches OCR pour les images (version 4.0) Optimisé pour les images générales qui ne sont pas des documents avec une API synchrone optimisée pour les performances qui facilite l’incorporation de l’OCR dans vos scénarios d’expérience utilisateur.
Documents : Documents numériques et numérisés, y compris les images livres, articles et rapports Modèle de lecture d’Intelligence documentaire Optimisé pour les documents numérisés et numériques riches en texte avec une API asynchrone afin d’automatiser le traitement intelligent des documents à grande échelle.

À propos d’Azure AI Vision v3.2 GA Read

Vous recherchez l’API Azure AI Vision v3.2 GA Read la plus récente ? Toutes les futures améliorations de l’OCR en lecture font partie des deux services répertoriés précédemment. Il n’y a pas aucune autre mise à jour apportée à Azure AI Vision v3.2. Pour plus d’informations, consultez Appeler l’API Lecture en disponibilité générale Azure AI Vision 3.2 et Démarrage rapide : lecture en disponibilité générale Azure AI Vision v3.2.

Critères des entrées

L’appel de l’API Read prend des images et des documents comme entrée. Les conditions requises sont les suivantes :

  • Formats de fichiers pris en charge : JPEG, PNG, BMP, PDF et TIFF.
  • Pour les fichiers PDF et TIFF, jusqu’à 2 000 pages (seules les deux premières pages pour le niveau gratuit) sont traitées.
  • La taille de fichier d’image doit être inférieure à 500 Mo (4 Mo pour le niveau gratuit), et les dimensions comprises entre 50 × 50 pixels et 10 000 × 10 000 pixels. Les fichiers PDF n’ont pas de limite de taille.
  • La hauteur minimale du texte à extraire est de 12 pixels pour une image 1024 x 768. Cela correspond à environ une police 8 points à 150 PPP.

Notes

Vous n’avez pas besoin de rogner une image pour obtenir les lignes de texte. Envoyez l’image entière à l’API Read pour qu’elle reconnaisse tous les textes.

Déterminer le mode de traitement des données (facultatif)

Spécifier le modèle OCR

Par défaut, le service utilise le dernier modèle en disponibilité générale (GA) pour extraire le texte. À partir de Read 3.2, un paramètre model-version permet de choisir entre les modèles GA et en préversion pour une version d’API donnée. Le modèle que vous spécifiez sera utilisé pour extraire du texte avec l’opération de Read.

Lorsque vous utilisez l’opération Read, utilisez les valeurs suivantes pour le paramètre facultatif model-version.

Valeur Modèle utilisé
Non fourni Dernier modèle en disponibilité générale
latest Dernier modèle en disponibilité générale
30-04-2022 Dernier modèle en disponibilité générale. 164 langues pour le texte imprimé et 9 langues pour le texte manuscrit, ainsi que plusieurs améliorations apportées à la qualité et aux performances
2022-01-30-preview Le modèle en préversion ajoute la prise en charge du texte imprimé pour l’hindi, l’arabe et les langues associées. Pour le texte manuscrit, ajoute la prise en charge du japonais et du coréen.
2021-09-30-preview Le modèle d’aperçu ajoute la prise en charge du texte d’impression pour les langues russes et cyrilliques. Pour le texte manuscrit, ajoute la prise en charge du chinois simplifié, du français, de l’allemand, de l’italien, du portugais et de l’espagnol.
2021-04-12 Modèle en disponibilité générale 2021

Langue d’entrée

Par défaut, le service extrait tout le texte de vos images ou documents, y compris les langues mixtes. L’opération de lecture a un paramètre de requête facultatif pour la langue. Ne fournissez un code de langue que si vous voulez forcer le document à être traité dans cette langue spécifique. Sinon, le service pourrait retourner du texte incomplet et incorrect.

Sortie de l’ordre de lecture naturel (langues latines uniquement)

Par défaut, le service génère les lignes de texte dans l’ordre de gauche à droite. En option, avec le paramètre de requête readingOrder, utilisez natural pour obtenir un ordre de lecture plus convivial, comme le montre l'exemple suivant. Cette fonctionnalité est prise en charge uniquement pour les langues latines.

OCR Reading order example

Sélectionner une ou plusieurs pages ou plages de pages pour l’extraction de texte

Par défaut, le service extrait du texte de toutes les pages des documents. En option, utilisez le paramètre de requête pages pour spécifier des numéros de page ou des plages de pages afin d'extraire le texte de ces pages uniquement. L’exemple suivant montre un document de 10 pages, avec le texte extrait pour les deux cas : toutes les pages (1 à 10) et certaines pages (3 à 6).

Selected pages output

Envoyer des données au service

Vous soumettez une image locale ou une image distante à l’API Read. Pour une image locale, vous placez les données image binaires dans le corps de la requête HTTP. Pour une image distante, vous spécifiez l’URL de l’image en mettant en forme le corps de la requête comme suit : {"url":"http://example.com/images/test.jpg"}.

L’appel de lecture de l’API de lecture prend en entrée une image ou un document PDF et extrait du texte de façon asynchrone.

https://{endpoint}/vision/v3.2/read/analyze[?language][&pages][&readingOrder]

L’appel retourne avec un champ d’en-tête de réponse appelé Operation-Location. La valeur Operation-Location est une URL qui contient l’ID d’opération à utiliser à l’étape suivante.

En-tête de réponse Valeur d'exemple
Operation-Location https://cognitiveservice/vision/v3.2/read/analyzeResults/49a36324-fc4b-4387-aa06-090cfbf0064f

Notes

Billing

La page de tarification de Azure AI Vision comprend le niveau tarifaire pour Lire. Chaque image ou page analysée est une transaction. Si vous appelez l’opération avec un document PDF ou TIFF contenant 100 pages, l’opération Lire compte cela comme 100 transactions et vous serez facturé pour 100 transactions. Si vous avez effectué 50 appels à l’opération et que chaque appel a envoyé un document avec 100 pages, vous êtes facturé pour 50 X 100 = 5000 transactions.

Obtenir les résultats du service

La deuxième étape consiste à appeler l’opération Obtenir les résultats de lecture. Cette opération prend en entrée l’ID d’opération créé par l’opération de lecture.

https://{endpoint}/vision/v3.2/read/analyzeResults/{operationId}

Elle retourne une réponse JSON qui contient un champ État avec les possibles valeurs suivantes.

Valeur Signification
notStarted L’opération n’a pas commencé.
running L’opération est en cours.
failed L’opération a échoué.
succeeded L'opération a réussi.

Vous appelez cette opération de façon itérative jusqu’à ce qu’elle retourne avec la valeur succeeded. Utilisez un intervalle de 1 à 2 secondes pour éviter de dépasser le taux de requêtes par seconde (RPS).

Notes

Le niveau gratuit limite le taux de requêtes à 20 appels par minute. Le niveau payant autorise 30 demandes par seconde (RPS) qui peut être augmenté sur demande. Notez votre identificateur de ressource Azure et votre région, puis ouvrez un ticket de support Azure ou contactez l'équipe en charge de vos comptes pour solliciter une augmentation du taux de requêtes par seconde (RPS).

Lorsque le champ État a la valeur succeeded, la réponse JSON contient le contenu du texte extrait de votre image ou document. La réponse JSON conserve les regroupements de lignes d’origine des mots reconnus. Elle comprend les lignes de texte extraites et les coordonnées de leur cadre englobant. Chaque ligne de texte inclut tous les mots extraits avec leurs coordonnées et des scores de confiance.

Remarque

Les données envoyées à l’opération Read sont temporairement chiffrées et stockées au repos pendant une courte durée avant d’être supprimées. Cela permet à vos applications de récupérer le texte extrait dans le cadre de la réponse du service.

Exemple de sortir JSON

Voici un exemple de réponse JSON correcte :

{
  "status": "succeeded",
  "createdDateTime": "2021-02-04T06:32:08.2752706+00:00",
  "lastUpdatedDateTime": "2021-02-04T06:32:08.7706172+00:00",
  "analyzeResult": {
    "version": "3.2",
    "readResults": [
      {
        "page": 1,
        "angle": 2.1243,
        "width": 502,
        "height": 252,
        "unit": "pixel",
        "lines": [
          {
            "boundingBox": [
              58,
              42,
              314,
              59,
              311,
              123,
              56,
              121
            ],
            "text": "Tabs vs",
            "appearance": {
              "style": {
                "name": "handwriting",
                "confidence": 0.96
              }
            },
            "words": [
              {
                "boundingBox": [
                  68,
                  44,
                  225,
                  59,
                  224,
                  122,
                  66,
                  123
                ],
                "text": "Tabs",
                "confidence": 0.933
              },
              {
                "boundingBox": [
                  241,
                  61,
                  314,
                  72,
                  314,
                  123,
                  239,
                  122
                ],
                "text": "vs",
                "confidence": 0.977
              }
            ]
          }
        ]
      }
    ]
  }
}

Classification manuscrite pour les lignes de texte (langues latines uniquement)

La réponse comprend une classification qui indique si chaque ligne de texte est de style manuscrit ou non, avec un score de confiance. Cette fonctionnalité est disponible uniquement pour les langues latines. L’exemple suivant illustre la classification manuscrite pour le texte de l’image.

OCR handwriting classification example

Étapes suivantes