Rychlý start: Použití klientské knihovny optického rozpoznávání znaků (OCR) nebo REST API

Začínáme s knihovnou Počítačové zpracování obrazu Read REST API nebo klientskými knihovnami. Služba Read poskytuje algoritmy AI pro extrahování viditelného textu z obrázků a jeho vrácení jako strukturovaných řetězců. Pomocí těchto kroků nainstalujte balíček do aplikace a vyzkoušejte ukázkový kód pro základní úlohy.

Pomocí klientské knihovny pro rozpoznávání OCR si můžete přečíst vytištěné a ručně psaný text z obrázku.

Referenční dokumentace | Zdrojový kód knihovny | Balíček (NuGet) | Ukázky

Požadavky

  • Předplatné Azure – můžete ho vytvořit zdarma .
  • Integrované vývojové prostředí (IDE) sady Visual Studio nebo aktuální verze .NET Core.
  • Jakmile budete mít předplatné Azure, Počítačové zpracování obrazu v Azure Portal, abyste získali svůj klíč a koncový bod. Po nasazení klikněte na Přejít k prostředku.
    • K připojení aplikace k Počítačové zpracování obrazu službě budete potřebovat klíč a koncový bod z prostředku, který vytvoříte. Svůj klíč a koncový bod vložíte do níže uvedeného kódu později v rychlém startu.
    • K vyzkoušení služby můžete použít bezplatnou cenovou úroveň ( F0 ) a upgradovat ji později na placenou úroveň pro produkční prostředí.

Nastavení

Vytvoření nové aplikace v C#

Pomocí sady Visual Studio vytvořte novou aplikaci .NET Core.

Instalace klientské knihovny

Po vytvoření nového projektu nainstalujte knihovnu klienta tak, že kliknete pravým tlačítkem na řešení projektu v Průzkumník řešení a vyberete Spravovat balíčky NuGet. Ve Správci balíčků, který se otevře, vyberte Procházet, zaškrtněte políčko Zahrnout předprodejní a vyhledejte Microsoft.Azure.CognitiveServices.Vision.ComputerVision . Vyberte verzi 7.0.0 a pak nainstalujte.

Tip

Chcete zobrazit celý soubor kódu pro rychlý Start najednou? Můžete ji najít na GitHubu, který obsahuje příklady kódu v tomto rychlém startu.

V adresáři projektu otevřete soubor program. cs v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE).

Najít klíč předplatného a koncový bod

Přejděte na Azure Portal. Pokud se prostředek Počítačové zpracování obrazu, který jste vytvořili v části předpoklady , se úspěšně nasadil, klikněte v části Další kroky na tlačítko Přejít k prostředku . Klíč předplatného a koncový bod můžete najít na stránce klíč a koncový bod prostředku v části Správa prostředků.

Do třídy programu aplikace vytvořte proměnné pro klíč předplatného počítačové zpracování obrazu a koncový bod. Vložte klíč předplatného a koncový bod do následujícího kódu, kde je uvedený. Váš koncový bod Počítačové zpracování obrazu má formulář https://<your_computer_vision_resource_name>.cognitiveservices.azure.com/ .

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 subscription key and endpoint
        static string subscriptionKey = "PASTE_YOUR_COMPUTER_VISION_SUBSCRIPTION_KEY_HERE";
        static string endpoint = "PASTE_YOUR_COMPUTER_VISION_ENDPOINT_HERE";

Důležité

Nezapomeňte odebrat klíč předplatného z kódu, až budete hotovi, a nikdy ho zveřejnit. V případě produkčního prostředí zvažte použití zabezpečeného způsobu ukládání a přístupu k vašim přihlašovacím údajům. Například Trezor klíčů Azure.

V Main metodě aplikace přidejte volání metod používaných v rámci tohoto rychlého startu. Budete je vytvářet později.

ComputerVisionClient client = Authenticate(endpoint, subscriptionKey);

// Extract text (OCR) from a URL image using the Read API
ReadFileUrl(client, READ_TEXT_URL_IMAGE).Wait();

Objektový model

Následující třídy a rozhraní zpracovávají některé z hlavních funkcí sady OCR .NET SDK.

Název Description
ComputerVisionClient Tato třída je potřebná pro všechny funkce Počítačové zpracování obrazu. Vytvoříte jeho instanci s informacemi o předplatném a použijete ho k provádění většiny operací s imagí.
ComputerVisionClientExtensions Tato třída obsahuje další metody pro ComputerVisionClient.

Příklady kódu

Tyto fragmenty kódu ukazují, jak provádět následující úlohy pomocí klientské knihovny pro rozpoznávání OCR pro .NET:

Ověření klienta

V nové metodě ve třídě program vytvořte instanci klienta s vaším koncovým bodem a klíčem předplatného. Vytvořte objekt ApiKeyServiceClientCredentials s klíčem předplatného a použijte ho u svého koncového bodu k vytvoření objektu ComputerVisionClient .

/*
 * AUTHENTICATE
 * Creates a Computer Vision client used by each example.
 */
public static ComputerVisionClient Authenticate(string endpoint, string key)
{
    ComputerVisionClient client =
      new ComputerVisionClient(new ApiKeyServiceClientCredentials(key))
      { Endpoint = endpoint };
    return client;
}

Jsem ověřil (a) jsem , že klient narazil na problém

Číst vytištěné a ručně psaný text

Služba OCR může číst viditelný text v obrázku a převést jej na datový proud znaků. Další informace o rozpoznávání textu naleznete v tématu Přehled optického rozpoznávání znaků (OCR) . Kód v této části používá nejnovější verzi sady počítačové zpracování obrazu SDK pro čtení 3,0 a definuje metodu, BatchReadFileUrl která používá objekt klienta ke zjištění a extrakci textu v obrázku.

Tip

Můžete také extrahovat text z místní image. Podívejte se na metody ComputerVisionClient , jako je například ReadInStreamAsync. Nebo si přečtěte ukázkový kód na GitHubu , kde najdete scénáře týkající se místních imagí.

Nastavit testovací image

Ve třídě program uložte odkaz na adresu URL obrázku, ze kterého chcete extrahovat text. Tento fragment kódu obsahuje vzorové obrázky pro tisk i rukopisný text.

private const string READ_TEXT_URL_IMAGE = "https://intelligentkioskstore.blob.core.windows.net/visionapi/suggestedphotos/3.png";

Volání rozhraní API pro čtení

Definujte novou metodu pro čtení textu. Přidejte následující kód, který volá metodu ReadAsync pro daný obrázek. Tato operace vrátí ID operace a spustí asynchronní proces pro čtení obsahu obrázku.

/*
 * READ FILE - URL 
 * Extracts text. 
 */
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);

Získat výsledky čtení

Potom Získejte ID operace vrácené voláním ReadAsync a použijte ji k dotazování služby na výsledky operace. Následující kód zkontroluje operaci, dokud nebudou vráceny výsledky. Pak zobrazí extrahovaná textová data do konzoly.

// 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));

Zobrazit výsledky čtení

Přidejte následující kód, který analyzuje a zobrazí získaná textová data, a dokončete definici metody.

    // 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();
}

Spuštění aplikace

Spusťte aplikaci kliknutím na tlačítko ladění v horní části okna IDE.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat předplatné Cognitive Services, můžete prostředek nebo skupinu prostředků odstranit. Odstraněním skupiny prostředků se odstraní také všechny další prostředky, které jsou k ní přidružené.

Další kroky

V tomto rychlém startu jste zjistili, jak nainstalovat knihovnu klienta pro rozpoznávání OCR a použít rozhraní API pro čtení. V dalším kroku se dozvíte víc o funkcích rozhraní API pro čtení.

Pomocí klientské knihovny pro rozpoznávání optických znaků si můžete přečíst vytištěné a ručně psaný text pomocí rozhraní API pro čtení.

Referenční dokumentace | Zdrojový kód knihovny | Balíček (PiPy) | Ukázky

Požadavky

  • Předplatné Azure – můžete ho vytvořit zdarma .

  • Python 3.x

    • Instalace Pythonu by měla zahrnovat PIP. Pomocí příkazu na příkazovém řádku můžete zjistit, jestli máte službu PIP nainstalovanou pip --version . Získejte PIP instalací nejnovější verze Pythonu.
  • Jakmile budete mít předplatné Azure, Počítačové zpracování obrazu v Azure Portal, abyste získali svůj klíč a koncový bod. Po nasazení klikněte na Přejít k prostředku.

    • K připojení aplikace k Počítačové zpracování obrazu službě budete potřebovat klíč a koncový bod z prostředku, který vytvoříte. Svůj klíč a koncový bod vložíte do níže uvedeného kódu později v rychlém startu.
    • K vyzkoušení služby můžete použít bezplatnou cenovou úroveň ( F0 ) a upgradovat ji později na placenou úroveň pro produkční prostředí.

Nastavení

Instalace klientské knihovny

Klientskou knihovnu můžete nainstalovat pomocí nástroje:

pip install --upgrade azure-cognitiveservices-vision-computervision

Nainstalujte také knihovnu Pillow.

pip install pillow

Vytvoření nové aplikace v Pythonu

Tip

Chcete zobrazit celý soubor kódu pro rychlý Start najednou? můžete ji najít na GitHub, která obsahuje příklady kódu v tomto rychlém startu.

Vytvořte nový soubor Python — Quickstart-File.py, například. Pak ho otevřete v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE).

Najít klíč předplatného a koncový bod

Přejděte na Azure Portal. Pokud se prostředek Počítačové zpracování obrazu, který jste vytvořili v části předpoklady , se úspěšně nasadil, klikněte v části Další kroky na tlačítko Přejít k prostředku . Klíč předplatného a koncový bod můžete najít na stránce klíč a koncový bod prostředku v části Správa prostředků.

Vytvořte proměnné pro klíč předplatného Počítačové zpracování obrazu a koncový bod. Vložte klíč předplatného a koncový bod do následujícího kódu, kde je uvedený. Váš koncový bod Počítačové zpracování obrazu má formulář https://<your_computer_vision_resource_name>.cognitiveservices.azure.com/ .

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 = "PASTE_YOUR_COMPUTER_VISION_SUBSCRIPTION_KEY_HERE"
endpoint = "PASTE_YOUR_COMPUTER_VISION_ENDPOINT_HERE"

Důležité

Nezapomeňte odebrat klíč předplatného z kódu, až budete hotovi, a nikdy ho zveřejnit. V případě produkčního prostředí zvažte použití zabezpečeného způsobu ukládání a přístupu k vašim přihlašovacím údajům. Například Trezor klíčů Azure.

Objektový model

Následující třídy a rozhraní zpracovávají některé z hlavních funkcí sady OCR Python SDK.

Název Description
ComputerVisionClientOperationsMixin Tato třída přímo zpracovává všechny operace obrázků, jako je analýza obrázků, detekce textu a generování miniatur.
ComputerVisionClient Tato třída je potřebná pro všechny funkce Počítačové zpracování obrazu. Vytvoří se jeho instance s informacemi o předplatném a Vy ho použijete k vytvoření instancí jiných tříd. Implementuje ComputerVisionClientOperationsMixin.
VisualFeatureTypes Tento výčet definuje různé typy analýz obrázků, které lze provést v rámci standardní operace analýzy. V závislosti na vašich potřebách můžete zadat sadu hodnot VisualFeatureTypes .

Příklady kódu

Tyto fragmenty kódu ukazují, jak provádět následující úlohy pomocí klientské knihovny OCR pro Python:

Ověření klienta

Vytvořte instanci klienta s vaším koncovým bodem a klíčem. Vytvořte objekt CognitiveServicesCredentials s klíčem a použijte ho u svého koncového bodu k vytvoření objektu ComputerVisionClient .

computervision_client = ComputerVisionClient(endpoint, CognitiveServicesCredentials(subscription_key))

Jsem ověřil (a) jsem , že klient narazil na problém

Číst vytištěné a ručně psaný text

Služba OCR může číst viditelný text v obrázku a převést jej na datový proud znaků. Provedete to ve dvou částech.

Volání rozhraní API pro čtení

Nejprve použijte následující kód pro volání metody Read pro daný obrázek. Tato operace vrátí ID operace a spustí asynchronní proces pro čtení obsahu obrázku.

'''
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://raw.githubusercontent.com/MicrosoftDocs/azure-docs/master/articles/cognitive-services/Computer-vision/Images/readsample.jpg"

# Call API with URL and raw response (allows you to get the operation location)
read_response = computervision_client.read(read_image_url,  raw=True)

Tip

Můžete si také přečíst text z místní image. Podívejte se na metody ComputerVisionClientOperationsMixin , jako je například read_in_stream. nebo si přečtěte ukázkový kód GitHub ve scénářích týkajících se místních imagí.

Získat výsledky čtení

Potom Získejte ID operace vrácené voláním metody Read a použijte ji k dotazování služby na výsledky operace. Následující kód kontroluje operaci v intervalu 1 sekund, dokud nebudou vráceny výsledky. Pak zobrazí extrahovaná textová data do konzoly.

# 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()

Spuštění aplikace

Spusťte aplikaci pomocí python příkazu v souboru rychlého startu.

python quickstart-file.py

Vyčištění prostředků

Pokud chcete vyčistit a odebrat předplatné Cognitive Services, můžete prostředek nebo skupinu prostředků odstranit. Odstraněním skupiny prostředků se odstraní také všechny další prostředky, které jsou k ní přidružené.

Vyčistil jsem problémy, které jsem narazil na problém

Další kroky

V tomto rychlém startu jste zjistili, jak nainstalovat knihovnu klienta pro rozpoznávání OCR a použít rozhraní API pro čtení. V dalším kroku se dozvíte víc o funkcích rozhraní API pro čtení.

Ke čtení tištěných a ručně psaných textu na obrázcích použijte klientskou knihovnu pro optické rozpoznávání znaků.

Referenční dokumentace | Zdrojový kód knihovny | Artifact (Maven) | Ukázky

Požadavky

  • Předplatné Azure – Vytvořte si ho zdarma.
  • Aktuální verze sady Java Development Kit (JDK)
  • Nástroj pro sestavení Gradlenebo jiný správce závislostí.
  • Jakmile máte předplatné Azure, vytvořte prostředek Počítačové zpracování obrazu, který Počítačové zpracování obrazu ve službě Azure Portal a získejte bod. Po nasazení klikněte na Přejít k prostředku.
    • Klíč a koncový bod z prostředku, který vytvoříte, budete potřebovat pro připojení aplikace k Počítačové zpracování obrazu službě. Svůj klíč a koncový bod vložíte do kódu níže v pozdější části tohoto rychlého startu.
    • K vyzkoušejí služby můžete použít bezplatnou cenovou úroveň ( ) a později upgradovat F0 na placenou úroveň pro produkční prostředí.

Nastavení

Vytvoření nového projektu Gradle

V okně konzoly (například cmd, PowerShell nebo Bash) vytvořte nový adresář pro vaši aplikaci a přejděte do něj.

mkdir myapp && cd myapp

Z gradle init pracovního adresáře spusťte příkaz . Tento příkaz vytvoří základní soubory sestavení pro Gradle, včetně build.gradle.kts, který se používá za běhu k vytvoření a konfiguraci aplikace.

gradle init --type basic

Po zobrazení výzvy k výběru DSL vyberte Kotlin.

Instalace klientské knihovny

V tomto rychlém startu se používá správce závislostí Gradle. Klientskou knihovnu a informace o dalších správcích závislostí najdete v centrálním úložišti Maven.

Vyhledejte soubor build.gradle.kts a otevřete ho pomocí upřednostňovaného integrovaného vývojového prostředí nebo textového editoru. Potom zkopírujte následující konfiguraci sestavení. Tato konfigurace definuje projekt jako aplikaci Java, jejíž vstupním bodem je třída ComputerVisionQuickstart. Importuje knihovnu Počítačové zpracování obrazu.

plugins {
    java
    application
}
application { 
    mainClass.set("ComputerVisionQuickstart")
}
repositories {
    mavenCentral()
}
dependencies {
    implementation(group = "com.microsoft.azure.cognitiveservices", name = "azure-cognitiveservices-computervision", version = "1.0.6-beta")
}

Vytvoření souboru Java

Spuštěním následujícího příkazu v pracovním adresáři vytvořte zdrojovou složku projektu:

mkdir -p src/main/java

Tip

Chcete zobrazit celý soubor kódu rychlého startu najednou? Najdete ho na GitHubu, který obsahuje příklady kódu v tomto rychlém startu.

Přejděte do nové složky a vytvořte soubor s názvem ComputerVisionQuickstart.java. Otevřete ho v upřednostňovaném editoru nebo integrovaném vývojovém prostředí.)

Vyhledání klíče předplatného a koncového bodu

Přejděte na Azure Portal. Pokud je Počítačové zpracování obrazu prostředků, které jste vytvořili v části Požadavky úspěšně nasazené, klikněte na tlačítko Přejít k prostředku v části Další kroky. Klíč a koncový bod předplatného najdete na stránce klíče a koncového bodu prostředku v části správa prostředků.

Definujte třídu ComputerVisionQuickstart. Vytvořte proměnné pro klíč Počítačové zpracování obrazu předplatného a koncový bod. Vložte klíč předplatného a koncový bod do následujícího kódu, kde je uvedeno. Váš Počítačové zpracování obrazu koncový bod má tvar https://<your_computer_vision_resource_name>.cognitiveservices.azure.com/ .

import com.microsoft.azure.cognitiveservices.vision.computervision.*;
import com.microsoft.azure.cognitiveservices.vision.computervision.implementation.ComputerVisionImpl;
import com.microsoft.azure.cognitiveservices.vision.computervision.models.*;

import java.io.*;
import java.nio.file.Files;

import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

public class ComputerVisionQuickstart {

    static String subscriptionKey = "PASTE_YOUR_COMPUTER_VISION_SUBSCRIPTION_KEY_HERE";
    static String endpoint = "PASTE_YOUR_COMPUTER_VISION_ENDPOINT_HERE";

Důležité

Až budete hotovi, nezapomeňte z kódu odebrat klíč předplatného a nikdy ho veřejně ne zveřejníte. V produkčním prostředí zvažte použití zabezpečeného způsobu ukládání přihlašovacích údajů a přístupu k těmto přihlašovacím údajům. Například Azure Key Vault.

V hlavní metodě aplikace přidejte volání metod používaných v tomto rychlém startu. Později je definujete.

public static void main(String[] args) {
    
    System.out.println("\nAzure Cognitive Services Computer Vision - Java Quickstart Sample");

    // Create an authenticated Computer Vision client.
    ComputerVisionClient compVisClient = Authenticate(subscriptionKey, endpoint); 

    // Read from local file
    ReadFromFile(compVisClient);
}

Objektový model

Následující třídy a rozhraní se řídí některými hlavními funkcemi sady OCR Java SDK.

Název Description
ComputerVisionClient Tato třída je potřebná pro všechny Počítačové zpracování obrazu funkce. Instanci vytváříte s informacemi o předplatném a použijete ji k vytvoření instancí jiných tříd.

Příklady kódu

Tyto fragmenty kódu ukazují, jak pomocí klientské knihovny OCR pro Javu provádět následující úlohy:

Ověření klienta

V nové metodě vytvořte instanci objektu ComputerVisionClient s koncovým bodem a klíčem.

public static ComputerVisionClient Authenticate(String subscriptionKey, String endpoint){
    return ComputerVisionManager.authenticate(subscriptionKey).withEndpoint(endpoint);
}

Čtení tištěný a ručně psaného textu

Služba OCR může číst viditelný text na obrázku a převést ho na datový proud znaků. Tato část definuje metodu , která převezme místní cestu k souboru a vytiskne text obrázku ReadFromFile do konzoly.

Tip

Text můžete také přečíst ve vzdáleném obrázku, na který odkazuje adresa URL. Podívejte se na metody ComputerVision, například načíst. Nebo si můžete v ukázkovém kódu na GitHubu zobrazit scénáře zahrnující vzdálené image.

Nastavení testovacího obrázku

Ve složce src/main/ vašeho projektu vytvořte složku resources/ a přidejte obrázek, ze které chcete číst text. Tady si můžete stáhnout ukázkový obrázek.

Pak do třídy ComputerVisionQuickstart přidejte následující definici metody. Změňte hodnotu tak, localFilePath aby odpovídala souboru obrázku.

/**
 * OCR with READ : Performs a Read Operation on a local image
 * @param client instantiated vision client
 * @param localFilePath local file path from which to perform the read operation against
 */
private static void ReadFromFile(ComputerVisionClient client) {
    System.out.println("-----------------------------------------------");
    
    String localFilePath = "src\\main\\resources\\myImage.png";
    System.out.println("Read with local file: " + localFilePath);

Volání rozhraní API pro čtení

Pak přidejte následující kód pro volání metody readInStreamWithServiceResponseAsync pro daný obrázek.


try {
    File rawImage = new File(localFilePath);
    byte[] localImageBytes = Files.readAllBytes(rawImage.toPath());

    // Cast Computer Vision to its implementation to expose the required methods
    ComputerVisionImpl vision = (ComputerVisionImpl) client.computerVision();

    // Read in remote image and response header
    ReadInStreamHeaders responseHeader =
            vision.readInStreamWithServiceResponseAsync(localImageBytes, null, null)
                .toBlocking()
                .single()
                .headers();

Následující blok kódu extrahuje ID operace z odpovědi volání Read. Pomocí tohoto ID s pomocná metoda vytiskne výsledky čtení textu do konzoly.

// Extract the operationLocation from the response header
String operationLocation = responseHeader.operationLocation();
System.out.println("Operation Location:" + operationLocation);

getAndPrintReadResult(vision, operationLocation);

Zavřete blok try/catch a definici metody.


    } catch (Exception e) {
        System.out.println(e.getMessage());
        e.printStackTrace();
    }
}

Získání výsledků čtení

Pak přidejte definici pro pomocná metoda. Tato metoda používá ID operace z předchozího kroku k dotazování operace čtení a získání výsledků OCR, jakmile jsou k dispozici.

/**
 * Polls for Read result and prints results to console
 * @param vision Computer Vision instance
 * @return operationLocation returned in the POST Read response header
 */
private static void getAndPrintReadResult(ComputerVision vision, String operationLocation) throws InterruptedException {
    System.out.println("Polling for Read results ...");

    // Extract OperationId from Operation Location
    String operationId = extractOperationIdFromOpLocation(operationLocation);

    boolean pollForResult = true;
    ReadOperationResult readResults = null;

    while (pollForResult) {
        // Poll for result every second
        Thread.sleep(1000);
        readResults = vision.getReadResult(UUID.fromString(operationId));

        // The results will no longer be null when the service has finished processing the request.
        if (readResults != null) {
            // Get request status
            OperationStatusCodes status = readResults.status();

            if (status == OperationStatusCodes.FAILED || status == OperationStatusCodes.SUCCEEDED) {
                pollForResult = false;
            }
        }
    }

Zbytek metody parsuje výsledky OCR a vytiskne je do konzoly.

    // Print read results, page per page
    for (ReadResult pageResult : readResults.analyzeResult().readResults()) {
        System.out.println("");
        System.out.println("Printing Read results for page " + pageResult.page());
        StringBuilder builder = new StringBuilder();

        for (Line line : pageResult.lines()) {
            builder.append(line.text());
            builder.append("\n");
        }

        System.out.println(builder.toString());
    }
}

Nakonec přidejte další pomocná metoda použitá výše, která extrahuje ID operace z počáteční odpovědi.

/**
 * Extracts the OperationId from a Operation-Location returned by the POST Read operation
 * @param operationLocation
 * @return operationId
 */
private static String extractOperationIdFromOpLocation(String operationLocation) {
    if (operationLocation != null && !operationLocation.isEmpty()) {
        String[] splits = operationLocation.split("/");

        if (splits != null && splits.length > 0) {
            return splits[splits.length - 1];
        }
    }
    throw new IllegalStateException("Something went wrong: Couldn't extract the operation id from the operation location");
}

Spuštění aplikace

Aplikaci můžete vytvořit pomocí:

gradle build

Spusťte aplikaci pomocí gradle run příkazu :

gradle run

Vyčištění prostředků

Pokud chcete vyčistit a odebrat předplatné Cognitive Services, můžete prostředek nebo skupinu prostředků odstranit. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Další kroky

V tomto rychlém startu jste zjistili, jak nainstalovat klientskou knihovnu OCR a používat rozhraní API pro čtení. Dále si přečtěte další informace o funkcích rozhraní API pro čtení.

Pomocí klientské knihovny pro rozpoznávání optických znaků si můžete přečíst vytištěné a ručně psaný text pomocí rozhraní API pro čtení.

Referenční dokumentace | Zdrojový kód knihovny | Balíček (npm) | Ukázky

Požadavky

  • Předplatné Azure – můžete ho vytvořit zdarma .
  • Aktuální verze Node.js
  • Jakmile budete mít předplatné Azure, Počítačové zpracování obrazu v Azure Portal, abyste získali svůj klíč a koncový bod. Po nasazení klikněte na Přejít k prostředku.
    • K připojení aplikace k Počítačové zpracování obrazu službě budete potřebovat klíč a koncový bod z prostředku, který vytvoříte. Svůj klíč a koncový bod vložíte do níže uvedeného kódu později v rychlém startu.
    • K vyzkoušení služby můžete použít bezplatnou cenovou úroveň ( F0 ) a upgradovat ji později na placenou úroveň pro produkční prostředí.

Nastavení

Vytvoření nové aplikace Node.js

V okně konzoly (například cmd, PowerShell nebo bash) vytvořte nový adresář pro vaši aplikaci a přejděte na něj.

mkdir myapp && cd myapp

Spuštěním npm init příkazu vytvořte aplikaci uzlu se package.json souborem.

npm init

Instalace klientské knihovny

Nainstalujte ms-rest-azure balíček a @azure/cognitiveservices-computervision npm:

npm install @azure/cognitiveservices-computervision

Nainstalujte také modul Async:

npm install async

Soubor vaší aplikace package.json bude aktualizován pomocí závislostí.

Tip

Chcete zobrazit celý soubor kódu pro rychlý Start najednou? můžete ji najít na GitHub, která obsahuje příklady kódu v tomto rychlém startu.

Vytvořte nový soubor index.js a otevřete ho v textovém editoru.

Najít klíč předplatného a koncový bod

Přejděte na Azure Portal. Pokud se prostředek Počítačové zpracování obrazu, který jste vytvořili v části předpoklady , se úspěšně nasadil, klikněte v části Další kroky na tlačítko Přejít k prostředku . Klíč předplatného a koncový bod můžete najít na stránce klíč a koncový bod prostředku v části Správa prostředků.

Vytvořte proměnné pro klíč předplatného Počítačové zpracování obrazu a koncový bod. Vložte klíč předplatného a koncový bod do následujícího kódu, kde je uvedený. Váš koncový bod Počítačové zpracování obrazu má formulář https://<your_computer_vision_resource_name>.cognitiveservices.azure.com/ .

'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 = 'PASTE_YOUR_COMPUTER_VISION_SUBSCRIPTION_KEY_HERE';
const endpoint = 'PASTE_YOUR_COMPUTER_VISION_ENDPOINT_HERE';

Důležité

Nezapomeňte odebrat klíč předplatného z kódu, až budete hotovi, a nikdy ho zveřejnit. V případě produkčního prostředí zvažte použití zabezpečeného způsobu ukládání a přístupu k vašim přihlašovacím údajům. Například Trezor klíčů Azure.

Objektový model

Následující třídy a rozhraní zpracovávají některé z hlavních funkcí sady OCR Node.js SDK.

Název Description
ComputerVisionClient Tato třída je potřebná pro všechny funkce Počítačové zpracování obrazu. Vytvoříte jeho instanci s informacemi o předplatném a použijete ho k provádění většiny operací s imagí.

Příklady kódu

Tyto fragmenty kódu ukazují, jak provádět následující úlohy pomocí klientské knihovny OCR pro Node.js:

Ověření klienta

Vytvořte instanci klienta s vaším koncovým bodem a klíčem. Vytvořte objekt ApiKeyCredentials s klíčem a koncovým bodem a použijte ho k vytvoření objektu ComputerVisionClient .

const computerVisionClient = new ComputerVisionClient(
  new ApiKeyCredentials({ inHeader: { 'Ocp-Apim-Subscription-Key': key } }), endpoint);

Pak definujte funkci computerVision a deklarujte asynchronní řadu s primární funkcí a funkcí zpětného volání. Na konci skriptu dokončete tuto definici funkce a zavolejte ji.

function computerVision() {
  async.series([
    async function () {

Jsem ověřil (a) jsem , že klient narazil na problém

Číst vytištěné a ručně psaný text

Služba OCR může extrahovat viditelný text v obrázku a převést jej na datový proud. Tato ukázka používá operace čtení.

Nastavení testovacích imagí

Uložte odkaz na adresu URL obrázků, ze kterých chcete extrahovat text.

// 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://moderatorsampleimages.blob.core.windows.net/samples/sample2.jpg';
const multiLingualTextURL = 'https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/MultiLingual.png';
const mixedMultiPagePDFURL = 'https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/MultiPageHandwrittenForm.pdf';

Poznámka

Můžete si také přečíst text z místní image. Podívejte se na metody ComputerVisionClient , jako je například readInStream. nebo si přečtěte ukázkový kód GitHub ve scénářích týkajících se místních imagí.

Volání rozhraní API pro čtení

Definujte následující pole ve funkci, aby se načetly hodnoty stavu volání metody Read.

// Status strings returned from Read API. NOTE: CASING IS SIGNIFICANT.
// Before Read 3.0, these are "Succeeded" and "Failed"
const STATUS_SUCCEEDED = "succeeded";
const STATUS_FAILED = "failed"

Přidejte následující kód, který volá readTextFromURL funkci pro dané obrázky.

// 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);

// Recognize multi-lingual text in a PNG from a URL
console.log('\nRead printed multi-lingual text in a PNG from URL...', multiLingualTextURL.split('/').pop());
const multiLingualResult = await readTextFromURL(computerVisionClient, multiLingualTextURL);
printRecText(multiLingualResult);

// Recognize printed text and handwritten text in a PDF from a URL
console.log('\nRead printed and handwritten text from a PDF from URL...', mixedMultiPagePDFURL.split('/').pop());
const mixedPdfResult = await readTextFromURL(computerVisionClient, mixedMultiPagePDFURL);
printRecText(mixedPdfResult);

Definujte readTextFromURL funkci. Volá metodu Read objektu klienta, který vrací ID operace a spustí asynchronní proces pro čtení obsahu obrázku. Pak pomocí ID operace zkontroluje stav operace, dokud nebudou vráceny výsledky. Vrátí extrahované výsledky.

// 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 !== 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.
}

Pak definujte pomocnou funkci printRecText , která vytiskne výsledky operací čtení do konzoly.

// 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.'); }
  }
}

Zavřít funkci

Ukončete computerVision funkci a zavolejte ji.


    },
    function () {
      return new Promise((resolve) => {
        resolve();
      })
    }
  ], (err) => {
    throw (err);
  });
}

computerVision();

Spuštění aplikace

Spusťte aplikaci pomocí node příkazu v souboru rychlého startu.

node index.js

Vyčištění prostředků

Pokud chcete vyčistit a odebrat předplatné Cognitive Services, můžete prostředek nebo skupinu prostředků odstranit. Odstraněním skupiny prostředků se odstraní také všechny další prostředky, které jsou k ní přidružené.

Vyčistil jsem problémy, které jsem narazil na problém

Další kroky

V tomto rychlém startu jste zjistili, jak nainstalovat knihovnu klienta pro rozpoznávání OCR a použít rozhraní API pro čtení. V dalším kroku se dozvíte víc o funkcích rozhraní API pro čtení.

Pomocí klientské knihovny pro rozpoznávání OCR si můžete přečíst vytištěný a rukou psaný text z obrázků.

Referenční dokumentace | Zdrojový kód knihovny | Balíček

Požadavky

  • Předplatné Azure – můžete ho vytvořit zdarma .
  • Nejnovější verze nástroje Přejít
  • Jakmile budete mít předplatné Azure, Počítačové zpracování obrazu v Azure Portal, abyste získali svůj klíč a koncový bod. Po nasazení klikněte na Přejít k prostředku.
    • K připojení aplikace k Počítačové zpracování obrazu službě budete potřebovat klíč a koncový bod z prostředku, který vytvoříte. Svůj klíč a koncový bod vložíte do níže uvedeného kódu později v rychlém startu.
    • K vyzkoušení služby můžete použít bezplatnou cenovou úroveň ( F0 ) a upgradovat ji později na placenou úroveň pro produkční prostředí.

Nastavení

Vytvořit adresář projektu přejít

V okně konzoly (cmd, PowerShell, terminál, bash) vytvořte nový pracovní prostor pro projekt na cestách s názvem my-app a přejděte na něj.

mkdir -p my-app/{src, bin, pkg}  
cd my-app

Váš pracovní prostor bude obsahovat tři složky:

  • Src – tento adresář bude obsahovat zdrojový kód a balíčky. Všechny balíčky nainstalované pomocí go get příkazu se budou nacházet v tomto adresáři.
  • pkg – tento adresář bude obsahovat kompilované objekty balíčku pro přechod. Všechny tyto soubory mají .a rozšíření.
  • bin – tento adresář bude obsahovat binární spustitelné soubory, které se vytvoří při spuštění go install .

Tip

Další informace o struktuře pracovního prostoru přejděte v dokumentaci jazyka přejděte. Tato příručka obsahuje informace o nastavení $GOPATH a $GOROOT .

Instalace klientské knihovny pro přejít

Dále nainstalujte klientskou knihovnu pro přejít:

go get -u https://github.com/Azure/azure-sdk-for-go/tree/master/services/cognitiveservices/v2.1/computervision

nebo pokud používáte DEP, v rámci vašeho úložiště úložišť:

dep ensure -add https://github.com/Azure/azure-sdk-for-go/tree/master/services/cognitiveservices/v2.1/computervision

Vytvoření aplikace v cestách

Dále vytvořte soubor v adresáři Src s názvem sample-app.go :

cd src
touch sample-app.go

Tip

Chcete zobrazit celý soubor kódu pro rychlý Start najednou? můžete ji najít na GitHub, která obsahuje příklady kódu v tomto rychlém startu.

Otevřete sample-app.go v upřednostňovaném integrovaném vývojovém prostředí (IDE) nebo textovém editoru.

Deklarujete kontext v kořenovém adresáři vašeho skriptu. Tento objekt budete potřebovat ke spuštění většiny Počítačové zpracování obrazu volání funkcí.

Najít klíč předplatného a koncový bod

Přejděte na Azure Portal. Pokud se prostředek Počítačové zpracování obrazu, který jste vytvořili v části předpoklady , se úspěšně nasadil, klikněte v části Další kroky na tlačítko Přejít k prostředku . Klíč předplatného a koncový bod můžete najít na stránce klíč a koncový bod prostředku v části Správa prostředků.

Vytvořte proměnné pro klíč předplatného Počítačové zpracování obrazu a koncový bod. Vložte klíč předplatného a koncový bod do následujícího kódu, kde je uvedený. Váš koncový bod Počítačové zpracování obrazu má formulář https://<your_computer_vision_resource_name>.cognitiveservices.azure.com/ .

package main

import (
    "context"
    "encoding/json"
    "fmt"
    "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v2.0/computervision"
    "github.com/Azure/go-autorest/autorest"
    "io"
    "log"
    "os"
    "strings"
    "time"
)

// Declare global so don't have to pass it to all of the tasks.
var computerVisionContext context.Context

func main() {
    computerVisionKey := "PASTE_YOUR_COMPUTER_VISION_SUBSCRIPTION_KEY_HERE"
    endpointURL := "PASTE_YOUR_COMPUTER_VISION_ENDPOINT_HERE"

Důležité

Nezapomeňte odebrat klíč předplatného z kódu, až budete hotovi, a nikdy ho zveřejnit. V případě produkčního prostředí zvažte použití zabezpečeného způsobu ukládání a přístupu k vašim přihlašovacím údajům. Například Trezor klíčů Azure.

V dalším kroku začnete přidávat kód pro provádění různých operací OCR.

Objektový model

Následující třídy a rozhraní zpracovávají některé z hlavních funkcí sady SDK pro rozpoznávání OCR.

Název Description
BaseClient Tato třída je potřebná pro všechny funkce Počítačové zpracování obrazu, jako je například analýza obrázku a čtení textu. Vytvoříte jeho instanci s informacemi o předplatném a použijete ho k provádění většiny operací s imagí.
ReadOperationResult Tento typ obsahuje výsledky operace čtení dávky.

Příklady kódu

Tyto fragmenty kódu ukazují, jak provádět následující úlohy pomocí klientské knihovny OCR pro funkci přejít:

Ověření klienta

Poznámka

Tento krok předpokládá, že jste vytvořili proměnné prostředí pro svůj počítačové zpracování obrazu klíč a koncový bod s názvem COMPUTER_VISION_SUBSCRIPTION_KEY a COMPUTER_VISION_ENDPOINT v uvedeném pořadí.

Vytvořte main funkci a přidejte do ní následující kód, který vytvoří instanci klienta s vaším koncovým bodem a klíčem.

/*  
 * Configure the Computer Vision client
 */
computerVisionClient := computervision.New(endpointURL);
computerVisionClient.Authorizer = autorest.NewCognitiveServicesAuthorizer(computerVisionKey)

computerVisionContext = context.Background()
/*
 * END - Configure the Computer Vision client
 */

Jsem ověřil (a) jsem , že klient narazil na problém

Číst vytištěné a ručně psaný text

Služba OCR může číst viditelný text v obrázku a převést jej na datový proud znaků. Kód v této části definuje funkci, RecognizeTextReadAPIRemoteImage která používá objekt klienta k detekci a extrakci vytištěného nebo rukopisného textu v obrázku.

Přidejte odkaz na vzorový obrázek a volání funkce ve main funkci.

// Analyze text in an image, remote
BatchReadFileRemoteImage(computerVisionClient, printedImageURL)

Tip

Můžete také extrahovat text z místní image. Podívejte se na metody BaseClient , jako je například BatchReadFileInStream. nebo si přečtěte ukázkový kód GitHub ve scénářích týkajících se místních imagí.

Volání rozhraní API pro čtení

Definujte novou funkci pro čtení textu, RecognizeTextReadAPIRemoteImage . Přidejte následující kód, který volá metodu BatchReadFile pro daný obrázek. Tato metoda vrátí ID operace a spustí asynchronní proces pro čtení obsahu obrázku.

func BatchReadFileRemoteImage(client computervision.BaseClient, remoteImageURL string) {
    fmt.Println("-----------------------------------------")
    fmt.Println("BATCH READ FILE - remote")
    fmt.Println()
    var remoteImage computervision.ImageURL
    remoteImage.URL = &remoteImageURL

    // The response contains a field called "Operation-Location", 
    // which is a URL with an ID that you'll use for GetReadOperationResult to access OCR results.
    textHeaders, err := client.BatchReadFile(computerVisionContext, remoteImage)
    if err != nil { log.Fatal(err) }

    // Use ExtractHeader from the autorest library to get the Operation-Location URL
    operationLocation := autorest.ExtractHeaderValue("Operation-Location", textHeaders.Response)

    numberOfCharsInOperationId := 36
    operationId := string(operationLocation[len(operationLocation)-numberOfCharsInOperationId : len(operationLocation)])

Získat výsledky čtení

Potom Získejte ID operace vrácené voláním BatchReadFile a použijte ji s metodou GetReadOperationResult pro dotazování služby na výsledky operace. Následující kód kontroluje operaci v intervalu 1 sekund, dokud nebudou vráceny výsledky. Pak zobrazí extrahovaná textová data do konzoly.

readOperationResult, err := client.GetReadOperationResult(computerVisionContext, operationId)
if err != nil { log.Fatal(err) }

// Wait for the operation to complete.
i := 0
maxRetries := 10

fmt.Println("Recognizing text in a remote image with the batch Read API ...")
for readOperationResult.Status != computervision.Failed &&
        readOperationResult.Status != computervision.Succeeded {
    if i >= maxRetries {
        break
    }
    i++

    fmt.Printf("Server status: %v, waiting %v seconds...\n", readOperationResult.Status, i)
    time.Sleep(1 * time.Second)

    readOperationResult, err = client.GetReadOperationResult(computerVisionContext, operationId)
    if err != nil { log.Fatal(err) }
}

Zobrazit výsledky čtení

Přidejte následující kód pro analýzu a zobrazení načtených textových dat a dokončete definici funkce.

// Display the results.
fmt.Println()
for _, recResult := range *(readOperationResult.RecognitionResults) {
    for _, line := range *recResult.Lines {
        fmt.Println(*line.Text)
    }
}

Spuštění aplikace

Spusťte aplikaci z adresáře aplikace pomocí go run příkazu.

go run sample-app.go

Vyčištění prostředků

Pokud chcete vyčistit a odebrat předplatné Cognitive Services, můžete prostředek nebo skupinu prostředků odstranit. Odstraněním skupiny prostředků se odstraní také všechny další prostředky, které jsou k ní přidružené.

Vyčistil jsem problémy, které jsem narazil na problém

Další kroky

V tomto rychlém startu jste zjistili, jak nainstalovat knihovnu klienta pro rozpoznávání OCR a použít rozhraní API pro čtení. V dalším kroku se dozvíte víc o funkcích rozhraní API pro čtení.

Použijte REST API optického rozpoznávání znaků pro čtení vytištěného a rukopisného textu.

Poznámka

V tomto rychlém startu se pomocí oblé příkazy zavolá REST API. REST API můžete volat také pomocí programovacího jazyka. příklady najdete v ukázkách GitHub v jazycích C#, Python, Java, JavaScripta přejít.

Požadavky

  • Předplatné Azure – můžete ho vytvořit zdarma .
  • Jakmile budete mít předplatné Azure, Počítačové zpracování obrazu v Azure Portal, abyste získali svůj klíč a koncový bod. Po nasazení klikněte na Přejít k prostředku.
    • K připojení aplikace k Počítačové zpracování obrazu službě budete potřebovat klíč a koncový bod z prostředku, který vytvoříte. Svůj klíč a koncový bod vložíte do níže uvedeného kódu později v rychlém startu.
    • K vyzkoušení služby můžete použít bezplatnou cenovou úroveň ( F0 ) a upgradovat ji později na placenou úroveň pro produkční prostředí.
  • nainstalovaná složená závorka

Vyjmutí vytištěného a rukopisného textu

Služba OCR může extrahovat viditelný text v obrázku nebo dokumentu a převést ho do datového proudu znaků. Další informace o extrakci textu naleznete v tématu Přehled optického rozpoznávání znaků (OCR).

Volání rozhraní API pro čtení

Pokud chcete vytvořit a spustit ukázku, postupujte takto:

  1. Zkopírujte do textového editoru následující příkaz.
  2. Proveďte v příkazu na příslušných místech následující změny:
    1. Hodnotu <subscriptionKey> nahraďte klíčem předplatného.
    2. Nahraďte první část adresy URL požadavku ( westcentralus ) textem ve vaší vlastní adrese URL koncového bodu.

      Poznámka

      Nové prostředky vytvořené po 1. červenci 2019 budou používat názvy vlastních subdomén. Další informace a úplný seznam regionálních koncových bodů najdete v tématu názvy vlastních subdomén pro Cognitive Services.

    3. Volitelně můžete změnit adresu URL obrázku v textu požadavku (https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Atomist_quote_from_Democritus.png/338px-Atomist_quote_from_Democritus.png\) na adresu URL jiného obrázku, který se má analyzovat.
  3. Otevřete okno příkazového řádku.
  4. Vložte příkaz z textového editoru do okna příkazového řádku a pak příkaz spusťte.
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://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Atomist_quote_from_Democritus.png/338px-Atomist_quote_from_Democritus.png\"}"

Odpověď bude obsahovat Operation-Location hlavičku, jejíž hodnota je jedinečná adresa URL. Tuto adresu URL použijete k dotazování na výsledky operace čtení. Platnost adresy URL vyprší během 48 hodin.

Jak používat funkce verze Preview

Jazyky a funkce ve verzi Preview najdete v tématu Určení verze modelu pro použití nejnovější verze Preview. Model verze Preview obsahuje vylepšení v aktuálně GA jazycích a funkcích.

Získat výsledky čtení

  1. Zkopírujte následující příkaz do textového editoru.
  2. Adresu URL nahraďte Operation-Location hodnotou, kterou jste zkopírovali v předchozím kroku.
  3. Proveďte v příkazu na příslušných místech následující změny:
    1. Hodnotu <subscriptionKey> nahraďte klíčem předplatného.
  4. Otevřete okno příkazového řádku.
  5. Vložte příkaz z textového editoru do okna příkazového řádku a pak příkaz spusťte.
curl -v -X GET "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyzeResults/{operationId}" -H "Ocp-Apim-Subscription-Key: {subscription key}" --data-ascii "{body}" 

Prozkoumání odpovědi

Úspěšná odpověď se vrátí ve formátu JSON. Ukázková aplikace provede analýzu a zobrazí úspěšnou odpověď v okně příkazového řádku, podobně jako v následujícím příkladu:

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

Další kroky

V tomto rychlém startu jste zjistili, jak volat REST API pro čtení. V dalším kroku se dozvíte víc o funkcích rozhraní API pro čtení.