Quickstart: Azure Vision v3.2 GA lezen

OCR (lees) versies

Belangrijk

Selecteer de Read-editie die het beste past bij uw vereisten.

Input Voorbeelden Lees de editie Voordeel
Afbeeldingen: Algemene, willekeurige afbeeldingen labels, straatborden en posters OCR voor afbeeldingen (versie 4.0) Geoptimaliseerd voor algemene, niet-documentafbeeldingen met een synchrone API met verbeterde prestaties, waardoor ocr eenvoudiger kan worden ingesloten in uw gebruikerservaringsscenario's.
Documenten: Digitaal en gescand, inclusief afbeeldingen boeken, artikelen en rapporten leesmodel voor Document Intelligence Geoptimaliseerd voor tekstzware gescande en digitale documenten met een asynchrone API om intelligente documentverwerking op schaal te automatiseren.

About Azure Vision v3.2 GA Read

Zoekt u de meest recente Azure Vision v3.2 GA-versie? Alle toekomstige verbeteringen voor lees-OCR maken deel uit van de twee services die eerder zijn vermeld. Er zijn geen verdere updates voor Azure Vision v3.2. Zie Call Azure Vision 3.2 GA Read API and Quickstart: Azure Vision v3.2 GA Read voor meer informatie.

Aan de slag met Azure Vision in de Foundry Tools om REST API-documentatie te lezen of client-libraries te gebruiken. De Read-API biedt AI-algoritmen voor het extraheren van tekst uit afbeeldingen en het retourneren als gestructureerde tekenreeksen. Volg deze stappen om een pakket in uw toepassing te installeren en de voorbeeldcode voor basistaken uit te proberen.

Gebruik de OCR-clientbibliotheek (Optical Character Recognition) om gedrukte en handgeschreven tekst uit een afbeelding te lezen. De OCR-service kan zichtbare tekst in een afbeelding lezen en deze converteren naar een tekenstroom. Zie het OCR-overzicht voor meer informatie over tekstherkenning. De code in deze sectie maakt gebruik van het meest recente Azure Vision in Foundry Tools pakket.

Tip

U kunt ook tekst extraheren uit een lokale afbeelding. Zie de ComputerVisionClient-methoden , zoals ReadInStreamAsync. Of bekijk de voorbeeldcode op GitHub voor scenario's met lokale installatiekopieën.

Referentiedocumentatie | Bibliotheekbroncode | Package (NuGet) | Voorbeelden

Voorwaarden

  • Een Azure-abonnement - Maak er gratis een.
  • De Visual Studio IDE of huidige versie van .NET Core.
  • Een Azure Vision-resource. U kunt de gratis prijscategorie (F0) gebruiken om de service uit te proberen en later een upgrade uit te voeren naar een betaalde laag voor productie.
  • De sleutel en het eindpunt van de resource die u maakt om uw toepassing te verbinden met Azure Vision.
    1. Nadat de Azure Vision-resource is geïmplementeerd, selecteert u Ga naar resource.
    2. Selecteer sleutels en eindpunt in het linkerdeelvenster.
    3. Kopieer een van de sleutels en het eindpunt voor later gebruik in de quickstart.

Omgevingsvariabelen maken

In dit voorbeeld schrijft u uw inloggegevens naar de omgevingsvariabelen op de lokale computer waarop de toepassing draait.

Ga naar de Azure-portal. Als de resource die u hebt gemaakt in de sectie Vereisten is geïmplementeerd, selecteert u Ga naar de resource onder Volgende stappen. U vindt uw sleutel en eindpunt onder Resourcebeheer op de pagina Sleutels en eindpunt van de Face-resource. Uw resourcesleutel is niet hetzelfde als uw Azure abonnements-id.

Als u de omgevingsvariabele voor uw sleutel en eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de VISION_KEY omgevingsvariabele wilt instellen, vervangt u deze door <your_key> een van de sleutels voor uw resource.
  • Als u de VISION_ENDPOINT omgevingsvariabele wilt instellen, vervang <your_endpoint> door het eindpunt voor uw resource.

Belangrijk

We raden Microsoft Entra ID-authenticatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen bij uw toepassingen die in de cloud draaien.

Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.

Zie Authenticate requests to Azure AI-services voor meer informatie over beveiliging van AI-services.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle actieve programma's die de omgevingsvariabelen lezen, met inbegrip van het consolevenster, opnieuw opstarten.

Gedrukte en handgeschreven tekst lezen

  1. Maak een nieuwe C#-toepassing.

    Maak met Visual Studio een Console-app (.NET Framework) project voor C#, Windows, Console.

    Nadat u een nieuw project hebt gemaakt, installeert u de clientbibliotheek:

    1. Klik met de rechtermuisknop op de projectoplossing in de Solution Explorer en selecteer Beheer NuGet-pakketten voor oplossing.
    2. In het pakketbeheer dat wordt geopend, selecteer Bladeren. Selecteer Prerelease opnemen.
    3. Zoek en selecteer Microsoft.Azure.CognitiveServices.Vision.ComputerVision.
    4. Selecteer uw project in het dialoogvenster Details en selecteer de meest recente stabiele versie. Vervolgens selecteer Installeren.
  2. Open in de projectmap het Program.cs-bestand in de gewenste editor of IDE. Vervang de inhoud van Program.cs door de volgende code.

    using System;
    using System.Collections.Generic;
    using Microsoft.Azure.CognitiveServices.Vision.ComputerVision;
    using Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models;
    using System.Threading.Tasks;
    using System.IO;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;
    using System.Threading;
    using System.Linq;
    
    namespace ComputerVisionQuickstart
    {
        class Program
        {
            // Add your Computer Vision key and endpoint
            static string key = Environment.GetEnvironmentVariable("VISION_KEY");
            static string endpoint = Environment.GetEnvironmentVariable("VISION_ENDPOINT");
    
            private const string READ_TEXT_URL_IMAGE = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/printed_text.jpg";
    
            static void Main(string[] args)
            {
                Console.WriteLine("Azure Cognitive Services Computer Vision - .NET quickstart example");
                Console.WriteLine();
    
                ComputerVisionClient client = Authenticate(endpoint, key);
    
                // Extract text (OCR) from a URL image using the Read API
                ReadFileUrl(client, READ_TEXT_URL_IMAGE).Wait();
            }
    
            public static ComputerVisionClient Authenticate(string endpoint, string key)
            {
                ComputerVisionClient client =
                  new ComputerVisionClient(new ApiKeyServiceClientCredentials(key))
                  { Endpoint = endpoint };
                return client;
            }
    
            public static async Task ReadFileUrl(ComputerVisionClient client, string urlFile)
            {
                Console.WriteLine("----------------------------------------------------------");
                Console.WriteLine("READ FILE FROM URL");
                Console.WriteLine();
    
                // Read text from URL
                var textHeaders = await client.ReadAsync(urlFile);
                // After the request, get the operation location (operation ID)
                string operationLocation = textHeaders.OperationLocation;
                Thread.Sleep(2000);
    
                // Retrieve the URI where the extracted text will be stored from the Operation-Location header.
                // We only need the ID and not the full URL
                const int numberOfCharsInOperationId = 36;
                string operationId = operationLocation.Substring(operationLocation.Length - numberOfCharsInOperationId);
    
                // Extract the text
                ReadOperationResult results;
                Console.WriteLine($"Extracting text from URL file {Path.GetFileName(urlFile)}...");
                Console.WriteLine();
                do
                {
                    results = await client.GetReadResultAsync(Guid.Parse(operationId));
                }
                while ((results.Status == OperationStatusCodes.Running ||
                    results.Status == OperationStatusCodes.NotStarted));
    
                // Display the found text.
                Console.WriteLine();
                var textUrlFileResults = results.AnalyzeResult.ReadResults;
                foreach (ReadResult page in textUrlFileResults)
                {
                    foreach (Line line in page.Lines)
                    {
                        Console.WriteLine(line.Text);
                    }
                }
                Console.WriteLine();
            }
    
        }
    }
    
  3. Zie Bepalen hoe de gegevens moeten worden verwerkt als een optionele stap. Als u bijvoorbeeld expliciet het meest recente GA-model wilt opgeven, bewerkt u de ReadAsync aanroep zoals wordt weergegeven. Sla de parameter over of gebruik "latest" deze om het meest recente GA-model te gebruiken.

      // Read text from URL with a specific model version
      var textHeaders = await client.ReadAsync(urlFile,null,null,"2022-04-30");
    
  4. Voer de toepassing uit.

    • Uit het menu Foutopsporing selecteer Start foutopsporing.

Uitvoer

Azure Vision - .NET quickstart example

----------------------------------------------------------
READ FILE FROM URL

Extracting text from URL file printed_text.jpg...


Nutrition Facts Amount Per Serving
Serving size: 1 bar (40g)
Serving Per Package: 4
Total Fat 13g
Saturated Fat 1.5g
Amount Per Serving
Trans Fat 0g
Calories 190
Cholesterol 0mg
Calories from Fat 110
Sodium 20mg
nt Daily Values are based on Vitamin A 50%
calorie diet.

Resources opschonen

Als u een Foundry Tools-abonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.

Volgende stappen

In deze quickstart hebt u geleerd hoe u de OCR-clientbibliotheek installeert en de Lees-API gebruikt. Hierna vindt u meer informatie over de read-API-functies.

Gebruik de OCR-clientbibliotheek (Optical Character Recognition) om gedrukte en handgeschreven tekst van een externe afbeelding te lezen. De OCR-service kan zichtbare tekst in een afbeelding lezen en deze converteren naar een tekenstroom. Zie het OCR-overzicht voor meer informatie over tekstherkenning.

Tip

U kunt ook tekst uit een lokale afbeelding lezen. Zie de ComputerVisionClientOperationsMixin-methoden , zoals read_in_stream. Of bekijk de voorbeeldcode op GitHub voor scenario's met lokale installatiekopieën.

Referentiedocumentatie | Bibliotheekbroncode | Package (PiPy) | Voorbeelden

Voorwaarden

  • Een Azure-abonnement - Maak er gratis een.
  • Python 3.x.
  • De installatie van uw Python moet pip bevatten. U kunt controleren of pip is geïnstalleerd door pip --version te gebruiken op de opdrachtregel. Installeer pip door de nieuwste versie van Python te installeren.
  • een Azure Vision-bron in Foundry Tools. U kunt de gratis prijscategorie (F0) gebruiken om de service uit te proberen en later een upgrade uit te voeren naar een betaalde laag voor productie.
  • De sleutel en het eindpunt van de resource die u maakt om uw toepassing te verbinden met Azure Vision.
    1. Nadat de Azure Vision-resource is geïmplementeerd, selecteert u Ga naar resource.
    2. Selecteer sleutels en eindpunt in het linkerdeelvenster.
    3. Kopieer een van de sleutels en het eindpunt voor later gebruik in de quickstart.

Omgevingsvariabelen maken

In dit voorbeeld schrijft u uw inloggegevens naar de omgevingsvariabelen op de lokale computer waarop de toepassing draait.

Ga naar de Azure-portal. Als de resource die u hebt gemaakt in de sectie Vereisten is geïmplementeerd, selecteert u Ga naar de resource onder Volgende stappen. U vindt uw sleutel en eindpunt onder Resourcebeheer op de pagina Sleutels en eindpunt van de Face-resource. Uw resourcesleutel is niet hetzelfde als uw Azure abonnements-id.

Als u de omgevingsvariabele voor uw sleutel en eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de VISION_KEY omgevingsvariabele wilt instellen, vervangt u deze door <your_key> een van de sleutels voor uw resource.
  • Als u de VISION_ENDPOINT omgevingsvariabele wilt instellen, vervang <your_endpoint> door het eindpunt voor uw resource.

Belangrijk

We raden Microsoft Entra ID-authenticatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen bij uw toepassingen die in de cloud draaien.

Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.

Zie Authenticate requests to Azure AI-services voor meer informatie over beveiliging van AI-services.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle actieve programma's die de omgevingsvariabelen lezen, met inbegrip van het consolevenster, opnieuw opstarten.

Gedrukte en handgeschreven tekst lezen

  1. Installeer de clientbibliotheek.

    Voer in een consolevenster de volgende opdracht uit:

    pip install --upgrade azure-cognitiveservices-vision-computervision
    
  2. Installeer de Pillow-bibliotheek.

    pip install pillow
    
  3. Maak een nieuw Python-toepassingsbestand quickstart-file.py. Open deze vervolgens in uw favoriete editor of IDE.

  4. Vervang de inhoud van quickstart-file.py door de volgende code.

    from azure.cognitiveservices.vision.computervision import ComputerVisionClient
    from azure.cognitiveservices.vision.computervision.models import OperationStatusCodes
    from azure.cognitiveservices.vision.computervision.models import VisualFeatureTypes
    from msrest.authentication import CognitiveServicesCredentials
    
    from array import array
    import os
    from PIL import Image
    import sys
    import time
    
    '''
    Authenticate
    Authenticates your credentials and creates a client.
    '''
    subscription_key = os.environ["VISION_KEY"]
    endpoint = os.environ["VISION_ENDPOINT"]
    
    computervision_client = ComputerVisionClient(endpoint, CognitiveServicesCredentials(subscription_key))
    '''
    END - Authenticate
    '''
    
    '''
    OCR: Read File using the Read API, extract text - remote
    This example will extract text in an image, then print results, line by line.
    This API call can also extract handwriting style text (not shown).
    '''
    print("===== Read File - remote =====")
    # Get an image with text
    read_image_url = "https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png"
    
    # Call API with URL and raw response (allows you to get the operation location)
    read_response = computervision_client.read(read_image_url,  raw=True)
    
    # Get the operation location (URL with an ID at the end) from the response
    read_operation_location = read_response.headers["Operation-Location"]
    # Grab the ID from the URL
    operation_id = read_operation_location.split("/")[-1]
    
    # Call the "GET" API and wait for it to retrieve the results 
    while True:
        read_result = computervision_client.get_read_result(operation_id)
        if read_result.status not in ['notStarted', 'running']:
            break
        time.sleep(1)
    
    # Print the detected text, line by line
    if read_result.status == OperationStatusCodes.succeeded:
        for text_result in read_result.analyze_result.read_results:
            for line in text_result.lines:
                print(line.text)
                print(line.bounding_box)
    print()
    '''
    END - Read File - remote
    '''
    
    print("End of Computer Vision quickstart.")
    
    
  5. Zie Bepalen hoe de gegevens moeten worden verwerkt als een optionele stap. Als u bijvoorbeeld expliciet het meest recente GA-model wilt opgeven, bewerkt u de read instructie zoals wordt weergegeven. Het overslaan van de parameter of "latest" automatisch gebruiken resulteert in het gebruik van het meest recente GA-model.

       # Call API with URL and raw response (allows you to get the operation location)
       read_response = computervision_client.read(read_image_url,  raw=True, model_version="2022-04-30")
    
  6. Voer de toepassing uit met de python opdracht in uw quickstart-bestand.

    python quickstart-file.py
    

Uitvoer

===== Read File - remote =====
The quick brown fox jumps
[38.0, 650.0, 2572.0, 699.0, 2570.0, 854.0, 37.0, 815.0]
Over
[184.0, 1053.0, 508.0, 1044.0, 510.0, 1123.0, 184.0, 1128.0]
the lazy dog!
[639.0, 1011.0, 1976.0, 1026.0, 1974.0, 1158.0, 637.0, 1141.0]

End of Azure Vision quickstart.

Resources opschonen

Als u een Foundry Tools-abonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.

Volgende stappen

In deze quickstart hebt u geleerd hoe u de OCR-clientbibliotheek installeert en de Lees-API gebruikt. Hierna vindt u meer informatie over de read-API-functies.

Gebruik de OCR-clientbibliotheek (Optical Character Recognition) om gedrukte en handgeschreven tekst te lezen met de Read-API. De OCR-service kan zichtbare tekst in een afbeelding lezen en deze converteren naar een tekenstroom. Zie het OCR-overzicht voor meer informatie over tekstherkenning.

Tip

U kunt ook tekst uit een lokale afbeelding lezen. Zie de ComputerVisionClient-methoden , zoals readInStream. Of bekijk de voorbeeldcode op GitHub voor scenario's met lokale installatiekopieën.

Referentiedocumentatie | Pakket (npm) | Voorbeelden

Voorwaarden

  • Een Azure-abonnement - Maak er gratis een.
  • De huidige versie van Node.js.
  • een Azure Vision-bron in Foundry Tools. U kunt de gratis prijscategorie (F0) gebruiken om de service uit te proberen en later een upgrade uit te voeren naar een betaalde laag voor productie.
  • De sleutel en het eindpunt van de resource die u maakt om uw toepassing te verbinden met Azure Vision.
    1. Nadat de Azure Vision-resource is geïmplementeerd, selecteert u Ga naar resource.
    2. Selecteer sleutels en eindpunt in het linkerdeelvenster.
    3. Kopieer een van de sleutels en het eindpunt voor later gebruik in de quickstart.

Omgevingsvariabelen maken

In dit voorbeeld schrijft u uw inloggegevens naar de omgevingsvariabelen op de lokale computer waarop de toepassing draait.

Ga naar de Azure-portal. Als de resource die u hebt gemaakt in de sectie Vereisten is geïmplementeerd, selecteert u Ga naar de resource onder Volgende stappen. U vindt uw sleutel en eindpunt onder Resourcebeheer op de pagina Sleutels en eindpunt van de Face-resource. Uw resourcesleutel is niet hetzelfde als uw Azure abonnements-id.

Als u de omgevingsvariabele voor uw sleutel en eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de VISION_KEY omgevingsvariabele wilt instellen, vervangt u deze door <your_key> een van de sleutels voor uw resource.
  • Als u de VISION_ENDPOINT omgevingsvariabele wilt instellen, vervang <your_endpoint> door het eindpunt voor uw resource.

Belangrijk

We raden Microsoft Entra ID-authenticatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen bij uw toepassingen die in de cloud draaien.

Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.

Zie Authenticate requests to Azure AI-services voor meer informatie over beveiliging van AI-services.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle actieve programma's die de omgevingsvariabelen lezen, met inbegrip van het consolevenster, opnieuw opstarten.

Gedrukte en handgeschreven tekst lezen

Maak een nieuwe Node.js-toepassing.

  1. Maak in een consolevenster een nieuwe map voor uw app en navigeer ernaartoe.

    mkdir myapp
    cd myapp
    
  2. Voer de npm init opdracht uit om een knooppunttoepassing met een package.json bestand te maken. Kies Enter voor eventuele meldingen.

    npm init
    
  3. Als u de clientbibliotheek wilt installeren, installeer dan beide npm-pakketten ms-rest-azure en @azure/cognitiveservices-computervision.

    npm install ms-rest-azure
    npm install @azure/cognitiveservices-computervision
    
  4. Installeer de asynchrone module:

    npm install async
    

    Het package.json-bestand van uw app wordt bijgewerkt met de afhankelijkheden.

  5. Maak een nieuw bestand ,index.jsen open het in een teksteditor.

  6. Plak de volgende code in het index.js-bestand .

    'use strict';
    
    const async = require('async');
    const fs = require('fs');
    const https = require('https');
    const path = require("path");
    const createReadStream = require('fs').createReadStream
    const sleep = require('util').promisify(setTimeout);
    const ComputerVisionClient = require('@azure/cognitiveservices-computervision').ComputerVisionClient;
    const ApiKeyCredentials = require('@azure/ms-rest-js').ApiKeyCredentials;
    /**
     * AUTHENTICATE
     * This single client is used for all examples.
     */
    const key = process.env.VISION_KEY;
    const endpoint = process.env.VISION_ENDPOINT;
    
    const computerVisionClient = new ComputerVisionClient(
      new ApiKeyCredentials({ inHeader: { 'Ocp-Apim-Subscription-Key': key } }), endpoint);
    /**
     * END - Authenticate
     */
    
    function computerVision() {
      async.series([
        async function () {
    
          /**
           * OCR: READ PRINTED & HANDWRITTEN TEXT WITH THE READ API
           * Extracts text from images using OCR (optical character recognition).
           */
          console.log('-------------------------------------------------');
          console.log('READ PRINTED, HANDWRITTEN TEXT AND PDF');
          console.log();
    
          // URL images containing printed and/or handwritten text. 
          // The URL can point to image files (.jpg/.png/.bmp) or multi-page files (.pdf, .tiff).
          const printedTextSampleURL = 'https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/printed_text.jpg';
    
          // Recognize text in printed image from a URL
          console.log('Read printed text from URL...', printedTextSampleURL.split('/').pop());
          const printedResult = await readTextFromURL(computerVisionClient, printedTextSampleURL);
          printRecText(printedResult);
    
          // Perform read and await the result from URL
          async function readTextFromURL(client, url) {
            // To recognize text in a local image, replace client.read() with readTextInStream() as shown:
            let result = await client.read(url);
            // Operation ID is last path segment of operationLocation (a URL)
            let operation = result.operationLocation.split('/').slice(-1)[0];
    
            // Wait for read recognition to complete
            // result.status is initially undefined, since it's the result of read
            while (result.status !== "succeeded") { await sleep(1000); result = await client.getReadResult(operation); }
            return result.analyzeResult.readResults; // Return the first page of result. Replace [0] with the desired page if this is a multi-page file such as .pdf or .tiff.
          }
    
          // Prints all text from Read result
          function printRecText(readResults) {
            console.log('Recognized text:');
            for (const page in readResults) {
              if (readResults.length > 1) {
                console.log(`==== Page: ${page}`);
              }
              const result = readResults[page];
              if (result.lines.length) {
                for (const line of result.lines) {
                  console.log(line.words.map(w => w.text).join(' '));
                }
              }
              else { console.log('No recognized text.'); }
            }
          }
    
          /**
           * 
           * Download the specified file in the URL to the current local folder
           * 
           */
          function downloadFilesToLocal(url, localFileName) {
            return new Promise((resolve, reject) => {
              console.log('--- Downloading file to local directory from: ' + url);
              const request = https.request(url, (res) => {
                if (res.statusCode !== 200) {
                  console.log(`Download sample file failed. Status code: ${res.statusCode}, Message: ${res.statusMessage}`);
                  reject();
                }
                var data = [];
                res.on('data', (chunk) => {
                  data.push(chunk);
                });
                res.on('end', () => {
                  console.log('   ... Downloaded successfully');
                  fs.writeFileSync(localFileName, Buffer.concat(data));
                  resolve();
                });
              });
              request.on('error', function (e) {
                console.log(e.message);
                reject();
              });
              request.end();
            });
          }
    
          /**
           * END - Recognize Printed & Handwritten Text
           */
          console.log();
          console.log('-------------------------------------------------');
          console.log('End of quickstart.');
    
        },
        function () {
          return new Promise((resolve) => {
            resolve();
          })
        }
      ], (err) => {
        throw (err);
      });
    }
    
    computerVision();
    
  7. Zie Bepalen hoe de gegevens moeten worden verwerkt als een optionele stap. Als u bijvoorbeeld expliciet het meest recente GA-model wilt opgeven, bewerkt u de read instructie zoals wordt weergegeven. Het overslaan van de parameter of "latest" automatisch gebruiken resulteert in het gebruik van het meest recente GA-model.

      let result = await client.read(url,{modelVersion:"2022-04-30"});
    
  8. Voer de toepassing uit met de node opdracht in uw quickstart-bestand.

    node index.js
    

Uitvoer

-------------------------------------------------
READ PRINTED, HANDWRITTEN TEXT AND PDF

Read printed text from URL... printed_text.jpg
Recognized text:
Nutrition Facts Amount Per Serving
Serving size: 1 bar (40g)
Serving Per Package: 4
Total Fat 13g
Saturated Fat 1.5g
Amount Per Serving
Trans Fat 0g
Calories 190
Cholesterol 0mg
ories from Fat 110
Sodium 20mg
nt Daily Values are based on Vitamin A 50%
calorie diet.

-------------------------------------------------
End of quickstart.

Resources opschonen

Als u een Foundry Tools-abonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.

Volgende stappen

In deze quickstart hebt u geleerd hoe u de OCR-clientbibliotheek installeert en de Lees-API gebruikt. Hierna vindt u meer informatie over de read-API-functies.

Gebruik de OCR REST API (Optical Character Recognition) om gedrukte en handgeschreven tekst te lezen.

Opmerking

In deze quickstart worden cURL-opdrachten gebruikt om de REST API aan te roepen. U kunt de REST API ook aanroepen met behulp van een programmeertaal. Zie de GitHub voorbeelden voor voorbeelden in C#, Python, Java en JavaScript.

Voorwaarden

  • Een Azure-abonnement - Maak er gratis een.
  • cURL geïnstalleerd.
  • een Azure Vision-bron in Foundry Tools. U kunt de gratis prijscategorie (F0) gebruiken om de service uit te proberen en later een upgrade uit te voeren naar een betaalde laag voor productie.
  • De sleutel en het eindpunt van de resource die u maakt om uw toepassing te verbinden met Azure Vision.
    1. Nadat de Azure Vision-resource is geïmplementeerd, selecteert u Ga naar resource.
    2. Selecteer sleutels en eindpunt in het linkerdeelvenster.
    3. Kopieer een van de sleutels en het eindpunt voor later gebruik in de quickstart.

Gedrukte en handgeschreven tekst lezen

De OCR-service (Optical Character Recognition) kan zichtbare tekst extraheren in een afbeelding of document en deze converteren naar een tekenstroom. Zie het OCR-overzicht voor meer informatie over tekstextractie.

De Lees-API aanroepen

Voer de volgende stappen uit om het voorbeeld te maken en uit te voeren:

  1. Kopieer de volgende opdracht naar een teksteditor.

  2. Breng waar nodig de volgende wijzigingen aan in de opdracht:

    1. Vervang de waarde van <key> door uw sleutel.
    2. Vervang het eerste deel van de aanvraag-URL (https://westcentralus.api.cognitive.microsoft.com/) door de tekst in uw eigen eindpunt-URL.

      Opmerking

      Nieuwe resources die na 1 juli 2019 zijn gemaakt, gebruiken aangepaste subdomeinnamen. Zie Aangepaste subdomeinnamen voor Foundry Tools voor meer informatie en een volledige lijst met regionale eindpunten.

    3. Wijzig eventueel de afbeeldings-URL in de aanvraagbody (https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png) in de URL van een andere afbeelding die moet worden geanalyseerd.
  3. Open een opdrachtpromptvenster.

  4. Plak de opdracht uit de teksteditor in het opdrachtpromptvenster en voer de opdracht uit.

curl -v -X POST "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyze" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: <subscription key>" --data-ascii "{'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"

Het antwoord bevat een Operation-Location header, waarvan de waarde een unieke URL is. U gebruikt deze URL om een query uit te voeren op de resultaten van de leesbewerking. De URL verloopt over 48 uur.

Geef desgewenst de modelversie op

Zie Bepalen hoe de gegevens moeten worden verwerkt als een optionele stap. Als u bijvoorbeeld expliciet het meest recente GA-model wilt opgeven, gebruikt model-version=2022-04-30 u deze als parameter. Het overslaan van de parameter of model-version=latest automatisch gebruiken resulteert in het gebruik van het meest recente GA-model.

curl -v -X POST "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyze?model-version=2022-04-30" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: <subscription key>" --data-ascii "{'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"

Leesresultaten ophalen

  1. Kopieer de volgende opdracht naar de teksteditor.

  2. Vervang de URL door de Operation-Location waarde die u in de vorige procedure hebt gekopieerd.

  3. Vervang de waarde van <key> door uw sleutel.

  4. Open een consolevenster.

  5. Plak de opdracht uit de teksteditor in het consolevenster en voer de opdracht uit.

    curl -v -X GET "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyzeResults/{operationId}" -H "Ocp-Apim-Subscription-Key: {key}" --data-ascii "{body}" 
    

Het antwoord onderzoeken

Er wordt een succesvol antwoord geretourneerd in JSON. De voorbeeldtoepassing parseert en geeft een geslaagd antwoord weer in het consolevenster, vergelijkbaar met het volgende voorbeeld:

{
  "status": "succeeded",
  "createdDateTime": "2021-04-08T21:56:17.6819115+00:00",
  "lastUpdatedDateTime": "2021-04-08T21:56:18.4161316+00:00",
  "analyzeResult": {
    "version": "3.2",
    "readResults": [
      {
        "page": 1,
        "angle": 0,
        "width": 338,
        "height": 479,
        "unit": "pixel",
        "lines": [
          {
            "boundingBox": [
              25,
              14,
              318,
              14,
              318,
              59,
              25,
              59
            ],
            "text": "NOTHING",
            "appearance": {
              "style": {
                "name": "other",
                "confidence": 0.971
              }
            },
            "words": [
              {
                "boundingBox": [
                  27,
                  15,
                  294,
                  15,
                  294,
                  60,
                  27,
                  60
                ],
                "text": "NOTHING",
                "confidence": 0.994
              }
            ]
          }
        ]
      }
    ]
  }
}

Resources opschonen

Als u een Foundry Tools-abonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.

Volgende stappen

In deze quickstart hebt u geleerd hoe u de Read REST API aanroept. Hierna vindt u meer informatie over de read-API-functies.