Udostępnij za pośrednictwem


Szybki start: odczyt usługi Azure AI Vision w wersji 3.2 (ogólna dostępność)

Wersje OCR (odczyt)

Ważne

Wybierz wersję Do odczytu, która najlepiej odpowiada Twoim wymaganiom.

Dane wejściowe Przykłady Edycja do odczytu Korzyści
Obrazy: Ogólne, obrazy w środowisku dzikim etykiety, znaki uliczne i plakaty OCR dla obrazów (wersja 4.0) Zoptymalizowany pod kątem ogólnych obrazów innych niż dokument z ulepszonym synchronicznym interfejsem API o wydajności, który ułatwia osadzanie OCR w scenariuszach środowiska użytkownika.
Dokumenty: cyfrowe i zeskanowane, w tym obrazy książki, artykuły i raporty Model odczytu analizy dokumentów Zoptymalizowany pod kątem dokumentów skanowanych z dużą liczbą tekstu i dokumentów cyfrowych za pomocą asynchronicznego interfejsu API w celu zautomatyzowania inteligentnego przetwarzania dokumentów na dużą skalę.

Informacje o usłudze Azure AI Vision w wersji 3.2 (ogólna dostępność) — odczyt

Szukasz najnowszej wersji ogólnie dostępnej usługi Azure AI Vision w wersji 3.2? Wszystkie przyszłe ulepszenia OCR odczytu są częścią dwóch wymienionych wcześniej usług. Nie ma dalszych aktualizacji usługi Azure AI Vision w wersji 3.2. Aby uzyskać więcej informacji, zobacz Call the Azure AI Vision 3.2 GA Read API and Quickstart: Azure AI Vision v3.2 GA Read (Wywoływanie interfejsu API odczytu ogólnie dostępnego usługi Azure AI Vision 3.2).

Rozpocznij pracę z interfejsem API REST odczytu usługi Azure AI Vision lub bibliotekami klienckimi. Interfejs API odczytu udostępnia algorytmy sztucznej inteligencji do wyodrębniania tekstu z obrazów i zwracania go jako ciągów strukturalnych. Wykonaj następujące kroki, aby zainstalować pakiet w aplikacji i wypróbować przykładowy kod dla podstawowych zadań.

Użyj biblioteki klienta optycznego rozpoznawania znaków (OCR) do odczytywania tekstu drukowanego i odręcznego z obrazu. Usługa OCR może odczytywać widoczny tekst na obrazie i konwertować go na strumień znaków. Aby uzyskać więcej informacji na temat rozpoznawania tekstu, zobacz omówienie OCR. Kod w tej sekcji używa najnowszego pakietu usługi Azure AI Vision .

Napiwek

Możesz również wyodrębnić tekst z obrazu lokalnego. Zobacz metody ComputerVisionClient, takie jak ReadInStreamAsync. Możesz też zapoznać się z przykładowym kodem w usłudze GitHub , aby zapoznać się ze scenariuszami obejmującymi obrazy lokalne.

Dokumentacja referencyjna — pakiet | kodu | źródłowego biblioteki źródłowej (NuGet)Samples |

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie.
  • Środowisko IDE programu Visual Studio lub bieżąca wersja platformy .NET Core.
  • Zasób usługi Azure AI Vision. Możesz użyć warstwy cenowej bezpłatna (F0), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.
  • Klucz i punkt końcowy z utworzonego zasobu w celu połączenia aplikacji z usługą Azure AI Vision.
    1. Po wdrożeniu zasobu usługi Azure Vision wybierz pozycję Przejdź do zasobu.
    2. W menu nawigacji po lewej stronie wybierz pozycję Klucze i punkt końcowy.
    3. Skopiuj jeden z kluczy i punkt końcowy do użycia w dalszej części przewodnika Szybki start.

Tworzenie zmiennych środowiskowych

W tym przykładzie zapisz swoje poświadczenia w zmiennych środowiskowych na komputerze lokalnym, na których jest uruchamiana aplikacja.

Przejdź do portalu Azure Portal. Jeśli zasób utworzony w sekcji Wymagania wstępne został wdrożony pomyślnie, wybierz pozycję Przejdź do zasobu w obszarze Następne kroki. Klucz i punkt końcowy można znaleźć w obszarze Zarządzanie zasobami na stronie Klucze i punkt końcowy . Klucz zasobu nie jest taki sam jak identyfikator subskrypcji platformy Azure.

Aby ustawić zmienną środowiskową dla klucza i punktu końcowego, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną VISION_KEY środowiskową, zastąp <your_key> element jednym z kluczy zasobu.
  • Aby ustawić zmienną VISION_ENDPOINT środowiskową, zastąp <your_endpoint> element punktem końcowym zasobu.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą odczytywać zmienne środowiskowe, w tym okno konsoli.

Odczytywanie tekstu drukowanego i odręcznego

  1. Utwórz nową aplikację w języku C#.

    Za pomocą programu Visual Studio utwórz projekt aplikacja konsolowa (.NET Framework) dla języków C#, Windows, Console.

    Po utworzeniu nowego projektu zainstaluj bibliotekę klienta:

    1. Kliknij prawym przyciskiem myszy rozwiązanie projektu w Eksplorator rozwiązań i wybierz pozycję Zarządzaj pakietami NuGet dla rozwiązania.
    2. W wyświetlonym menedżerze pakietów wybierz pozycję Przeglądaj. Wybierz pozycję Uwzględnij wersję wstępną.
    3. Wyszukaj i wybierz pozycję Microsoft.Azure.CognitiveServices.Vision.ComputerVision.
    4. W oknie dialogowym szczegółów wybierz projekt i wybierz najnowszą stabilną wersję. Następnie wybierz pozycję Zainstaluj.
  2. W katalogu projektu otwórz plik Program.cs w preferowanym edytorze lub środowisku IDE. Zastąp zawartość pliku Program.cs poniższym kodem.

    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. Opcjonalnie zobacz Określanie sposobu przetwarzania danych. Aby na przykład jawnie określić najnowszy model ga, zmodyfikuj wywołanie ReadAsync , jak pokazano. Pomiń parametr lub użyj polecenia "latest" , aby użyć najnowszego modelu ogólnie dostępnego.

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

    • Z menu Debugowanie wybierz pozycję Rozpocznij debugowanie.

Wyjście

Azure AI 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
ories from Fat 110
Sodium 20mg
nt Daily Values are based on Vitamin A 50%
calorie diet.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć subskrypcję usług Azure AI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następne kroki

W tym przewodniku Szybki start przedstawiono sposób instalowania biblioteki klienta OCR i używania interfejsu API odczytu. Następnie dowiedz się więcej o funkcjach interfejsu API odczytu.

Użyj biblioteki klienta optycznego rozpoznawania znaków (OCR) do odczytywania tekstu drukowanego i odręcznego z obrazu zdalnego. Usługa OCR może odczytywać widoczny tekst na obrazie i konwertować go na strumień znaków. Aby uzyskać więcej informacji na temat rozpoznawania tekstu, zobacz omówienie OCR.

Napiwek

Możesz również odczytywać tekst z obrazu lokalnego. Zobacz metody ComputerVisionClientOperationsMixin, takie jak read_in_stream. Możesz też zapoznać się z przykładowym kodem w usłudze GitHub , aby zapoznać się ze scenariuszami obejmującymi obrazy lokalne.

Dokumentacja referencyjna — przykłady | pakietu kodu | źródłowego biblioteki źródłowej ()Samples |

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie.
  • Python 3.x.
  • Instalacja języka Python powinna zawierać narzędzie. Możesz sprawdzić, czy masz zainstalowane narzędzie, uruchom polecenie pip --version w wierszu polecenia. Pobierz narzędzie, instalując najnowszą wersję języka Python.
  • Zasób usługi Azure AI Vision. Możesz użyć warstwy cenowej bezpłatna (F0), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.
  • Klucz i punkt końcowy z utworzonego zasobu w celu połączenia aplikacji z usługą Azure AI Vision.
    1. Po wdrożeniu zasobu usługi Azure Vision wybierz pozycję Przejdź do zasobu.
    2. W menu nawigacji po lewej stronie wybierz pozycję Klucze i punkt końcowy.
    3. Skopiuj jeden z kluczy i punkt końcowy do użycia w dalszej części przewodnika Szybki start.

Tworzenie zmiennych środowiskowych

W tym przykładzie zapisz swoje poświadczenia w zmiennych środowiskowych na komputerze lokalnym, na których jest uruchamiana aplikacja.

Przejdź do portalu Azure Portal. Jeśli zasób utworzony w sekcji Wymagania wstępne został wdrożony pomyślnie, wybierz pozycję Przejdź do zasobu w obszarze Następne kroki. Klucz i punkt końcowy można znaleźć w obszarze Zarządzanie zasobami na stronie Klucze i punkt końcowy . Klucz zasobu nie jest taki sam jak identyfikator subskrypcji platformy Azure.

Aby ustawić zmienną środowiskową dla klucza i punktu końcowego, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną VISION_KEY środowiskową, zastąp <your_key> element jednym z kluczy zasobu.
  • Aby ustawić zmienną VISION_ENDPOINT środowiskową, zastąp <your_endpoint> element punktem końcowym zasobu.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą odczytywać zmienne środowiskowe, w tym okno konsoli.

Odczytywanie tekstu drukowanego i odręcznego

  1. Zainstaluj bibliotekę klienta.

    W oknie konsoli uruchom następujące polecenie:

    pip install --upgrade azure-cognitiveservices-vision-computervision
    
  2. Zainstaluj bibliotekę Pillow.

    pip install pillow
    
  3. Utwórz nowy plik aplikacji w języku Python, quickstart-file.py. Następnie otwórz go w preferowanym edytorze lub środowisku IDE.

  4. Zastąp zawartość quickstart-file.py następującym kodem.

    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. Opcjonalnie zobacz Określanie sposobu przetwarzania danych. Aby na przykład jawnie określić najnowszy model ga, zmodyfikuj instrukcję read , jak pokazano. Pomijanie parametru lub używanie "latest" go automatycznie używa najnowszego modelu ogólnie dostępnego.

       # 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. Uruchom aplikację, wykonując polecenie python dla pliku szybkiego startu.

    python quickstart-file.py
    

Wyjście

===== 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 AI Vision quickstart.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć subskrypcję usług Azure AI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następne kroki

W tym przewodniku Szybki start przedstawiono sposób instalowania biblioteki klienta OCR i używania interfejsu API odczytu. Następnie dowiedz się więcej o funkcjach interfejsu API odczytu.

Użyj biblioteki klienta optycznego rozpoznawania znaków (OCR), aby odczytywać tekst drukowany i odręczny przy użyciu interfejsu API odczytu. Usługa OCR może odczytywać widoczny tekst na obrazie i konwertować go na strumień znaków. Aby uzyskać więcej informacji na temat rozpoznawania tekstu, zobacz omówienie OCR.

Napiwek

Możesz również odczytywać tekst z obrazu lokalnego. Zobacz metody ComputerVisionClient, takie jak readInStream. Możesz też zapoznać się z przykładowym kodem w usłudze GitHub , aby zapoznać się ze scenariuszami obejmującymi obrazy lokalne.

Dokumentacja referencyjna | Package (npm)Samples |

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie.
  • Bieżąca wersja platformy Node.js.
  • Zasób usługi Azure AI Vision. Możesz użyć warstwy cenowej bezpłatna (F0), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.
  • Klucz i punkt końcowy z utworzonego zasobu w celu połączenia aplikacji z usługą Azure AI Vision.
    1. Po wdrożeniu zasobu usługi Azure Vision wybierz pozycję Przejdź do zasobu.
    2. W menu nawigacji po lewej stronie wybierz pozycję Klucze i punkt końcowy.
    3. Skopiuj jeden z kluczy i punkt końcowy do użycia w dalszej części przewodnika Szybki start.

Tworzenie zmiennych środowiskowych

W tym przykładzie zapisz swoje poświadczenia w zmiennych środowiskowych na komputerze lokalnym, na których jest uruchamiana aplikacja.

Przejdź do portalu Azure Portal. Jeśli zasób utworzony w sekcji Wymagania wstępne został wdrożony pomyślnie, wybierz pozycję Przejdź do zasobu w obszarze Następne kroki. Klucz i punkt końcowy można znaleźć w obszarze Zarządzanie zasobami na stronie Klucze i punkt końcowy . Klucz zasobu nie jest taki sam jak identyfikator subskrypcji platformy Azure.

Aby ustawić zmienną środowiskową dla klucza i punktu końcowego, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną VISION_KEY środowiskową, zastąp <your_key> element jednym z kluczy zasobu.
  • Aby ustawić zmienną VISION_ENDPOINT środowiskową, zastąp <your_endpoint> element punktem końcowym zasobu.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą odczytywać zmienne środowiskowe, w tym okno konsoli.

Odczytywanie tekstu drukowanego i odręcznego

Tworzenie nowej aplikacji Node.js.

  1. W oknie konsoli utwórz nowy katalog dla aplikacji i przejdź do niego.

    mkdir myapp
    cd myapp
    
  2. Uruchom polecenie npm init, aby utworzyć aplikację Node przy użyciu pliku package.json. Wybierz Enter , aby wyświetlić monity.

    npm init
    
  3. Aby zainstalować bibliotekę klienta, zainstaluj ms-rest-azure pakiet npm i @azure/cognitiveservices-computervision :

    npm install ms-rest-azure
    npm install @azure/cognitiveservices-computervision
    
  4. Zainstaluj moduł asynchroniczny:

    npm install async
    

    Plik aplikacji package.json jest aktualizowany przy użyciu zależności.

  5. Utwórz nowy plik, index.js i otwórz go w edytorze tekstów.

  6. Wklej następujący kod do pliku index.js .

    '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. Opcjonalnie zobacz Określanie sposobu przetwarzania danych. Aby na przykład jawnie określić najnowszy model ga, zmodyfikuj instrukcję read , jak pokazano. Pomijanie parametru lub używanie "latest" go automatycznie używa najnowszego modelu ogólnie dostępnego.

      let result = await client.read(url,{modelVersion:"2022-04-30"});
    
  8. Uruchom aplikację, wykonując polecenie node dla pliku szybkiego startu.

    node index.js
    

Wyjście

-------------------------------------------------
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.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć subskrypcję usług Azure AI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następne kroki

W tym przewodniku Szybki start przedstawiono sposób instalowania biblioteki klienta OCR i używania interfejsu API odczytu. Następnie dowiedz się więcej o funkcjach interfejsu API odczytu.

Interfejs API REST rozpoznawania znaków optycznych (OCR) umożliwia odczytywanie tekstu drukowanego i odręcznego.

Uwaga

Ten przewodnik Szybki start używa poleceń cURL do wywoływania interfejsu API REST. Interfejs API REST można również wywołać przy użyciu języka programowania. Zobacz przykłady dotyczące usługi GitHub, aby zapoznać się z przykładami w językach C#, Python, Java i JavaScript.

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie.
  • Zainstalowano bibliotekę cURL .
  • Zasób usługi Azure AI Vision. Możesz użyć warstwy cenowej bezpłatna (F0), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.
  • Klucz i punkt końcowy z utworzonego zasobu w celu połączenia aplikacji z usługą Azure AI Vision.
    1. Po wdrożeniu zasobu usługi Azure Vision wybierz pozycję Przejdź do zasobu.
    2. W menu nawigacji po lewej stronie wybierz pozycję Klucze i punkt końcowy.
    3. Skopiuj jeden z kluczy i punkt końcowy do użycia w dalszej części przewodnika Szybki start.

Odczytywanie tekstu drukowanego i odręcznego

Usługa optycznego rozpoznawania znaków (OCR) może wyodrębniać widoczny tekst na obrazie lub dokumencie i konwertować go na strumień znaków. Aby uzyskać więcej informacji na temat wyodrębniania tekstu, zobacz omówienie OCR.

Wywoływanie interfejsu API odczytu

Aby utworzyć i uruchomić przykład, wykonaj następujące kroki:

  1. Skopiuj następujące polecenie do edytora tekstów.

  2. W razie potrzeby wprowadź w poleceniu następujące zmiany:

    1. Zastąp wartość <key> kluczem.
    2. Zastąp pierwszą część adresu URL żądania (https://westcentralus.api.cognitive.microsoft.com/) tekstem we własnym adresie URL punktu końcowego.

      Uwaga

      Nowe zasoby utworzone po 1 lipca 2019 r. będą używać niestandardowych nazw domen podrzędnych. Aby uzyskać więcej informacji i pełną listę regionalnych punktów końcowych, zobacz Niestandardowe nazwy poddomeny dla usług Azure AI.

    3. Opcjonalnie zmień adres URL obrazu w treści żądania (https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png) na adres URL innego obrazu do analizy.
  3. Otwórz okno wiersza polecenia.

  4. Wklej polecenie z edytora tekstów w oknie wiersza polecenia, a następnie uruchom polecenie.

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'}"

Odpowiedź zawiera Operation-Location nagłówek, którego wartość jest unikatowym adresem URL. Ten adres URL służy do wykonywania zapytań dotyczących wyników operacji Odczyt. Adres URL wygasa w ciągu 48 godzin.

Opcjonalnie określ wersję modelu

Opcjonalnie zobacz Określanie sposobu przetwarzania danych. Aby na przykład jawnie określić najnowszy model ga, użyj model-version=2022-04-30 parametru jako parametru. Pomijanie parametru lub używanie model-version=latest go automatycznie używa najnowszego modelu ogólnie dostępnego.

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'}"

Pobieranie wyników odczytu

  1. Skopiuj następujące polecenie do edytora tekstów.

  2. Zastąp adres URL wartością Operation-Location skopiowaną w poprzedniej procedurze.

  3. Zastąp wartość <key> kluczem.

  4. Otwórz okno konsoli.

  5. Wklej polecenie z edytora tekstów w oknie konsoli, a następnie uruchom polecenie.

    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}" 
    

Sprawdzanie odpowiedzi

Po pomyślnym przetworzeniu żądania zostanie zwrócona odpowiedź w formacie JSON. Przykładowa aplikacja analizuje i wyświetla pomyślną odpowiedź w oknie konsoli, podobnie jak w poniższym przykładzie:

{
  "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
              }
            ]
          }
        ]
      }
    ]
  }
}

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć subskrypcję usług Azure AI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następne kroki

W tym przewodniku Szybki start przedstawiono sposób wywoływania interfejsu API REST odczytu. Następnie dowiedz się więcej o funkcjach interfejsu API odczytu.

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie.

  • Zasób usługi Azure AI Vision. Możesz użyć warstwy cenowej bezpłatna (F0), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.

  • Nawiązywanie połączenia z usługą Vision Studio.

    • Może być konieczne zalogowanie się.
    • Po zalogowaniu wybierz pozycję Wyświetl wszystkie zasoby. W razie potrzeby wybierz pozycję Odśwież. Sprawdź, czy zasób jest dostępny.

    Aby uzyskać więcej informacji, zobacz Wprowadzenie do korzystania z programu Vision Studio.

Odczytywanie tekstu drukowanego i odręcznego

  1. W obszarze Optyczne rozpoznawanie znaków wybierz pozycję Wyodrębnij tekst z obrazów.

  2. W obszarze Wypróbuj potwierdź, że ta wersja demonstracyjna wiąże się z użyciem konta platformy Azure. Aby uzyskać więcej informacji, zobacz Cennik usługi Azure AI Vision.

  3. Wybierz obraz z dostępnego zestawu lub przekaż własny.

  4. W razie potrzeby wybierz pozycję Wybierz zasób, aby wybrać zasób .

    Po wybraniu obrazu wyodrębniony tekst zostanie wyświetlony w oknie danych wyjściowych. Możesz również wybrać kartę JSON, aby wyświetlić dane wyjściowe JSON zwracane przez wywołanie interfejsu API.

Poniżej środowiska try-it-out są następne kroki, aby rozpocząć korzystanie z tej funkcji we własnej aplikacji.

Następne kroki

W tym przewodniku Szybki start użyto programu Vision Studio do uzyskiwania dostępu do interfejsu API odczytu. Następnie dowiedz się więcej o funkcjach interfejsu API odczytu.