Volání rozhraní AZURE AI Vision 3.2 GA Read API

V této příručce se dozvíte, jak volat rozhraní API ga verze 3.2 k extrakci textu z obrázků. Dozvíte se různé způsoby, jak můžete nakonfigurovat chování tohoto rozhraní API tak, aby vyhovovalo vašim potřebám. V této příručce se předpokládá, že jste už vytvořili prostředek Vision a získali adresu URL klíče a koncového bodu. Pokud jste to neudělali, začněte podle rychlého startu .

Edice OCR (Read)

Důležité

Vyberte edici Read, která nejlépe vyhovuje vašim požadavkům.

Vstup Příklady Číst edici Výhoda
Obrázky: Obecné, in-the-wild images štítky, dopravní značky a plakáty OCR pro image (verze 4.0) Optimalizované pro obecné nedokumentované obrázky s využitím synchronního rozhraní API s vylepšeným výkonem, které usnadňuje vkládání OCR ve scénářích uživatelského prostředí.
Dokumenty: Digitální a naskenované, včetně obrázků knihy, články a sestavy Model čtení funkce Document Intelligence Optimalizované pro naskenované a digitální dokumenty náročné na text s asynchronním rozhraním API, které pomáhá automatizovat inteligentní zpracování dokumentů ve velkém měřítku.

Informace o azure AI Vision verze 3.2 – obecná dostupnost

Hledáte nejnovější verzi Ga služby Azure AI Vision verze 3.2? Všechna budoucí vylepšení OCR pro čtení jsou součástí dvou dříve uvedených služeb. Ve službě Azure AI Vision verze 3.2 nejsou žádné další aktualizace. Další informace najdete v tématu Volání rozhraní AZURE AI Vision 3.2 GA Read API a rychlého startu: Azure AI Vision v3.2 GA Read.

Požadavky na vstup

Volání rozhraní API pro čtení přebírá obrázky a dokumenty jako vstup. Mají následující požadavky:

  • Podporované formáty souborů: JPEG, PNG, BMP, PDF a TIFF
  • U souborů PDF a TIFF se zpracovává maximálně 2000 stránek (bezplatná úroveň zpracovává jen první dvě stránky).
  • Obrázky nesmí být menší než 500 MB (u bezplatné úrovně jsou to 4 MB) a rozměry obrázku musí být alespoň 50 × 50 pixelů, ale nejvýše 10 000 × 10 000 pixelů. Soubory PDF nemají žádný limit velikosti.
  • Text extrahovaný z obrázku o rozměrech 1 024 × 768 pixelů musí mít výšku minimálně 12 pixelů. To odpovídá přibližně 8 textu bodu písma při 150 DPI.

Poznámka:

Nemusíte oříznout obrázek pro textové řádky. Odešle celý obrázek do rozhraní API pro čtení a rozpozná všechny texty.

Určení způsobu zpracování dat (volitelné)

Určení modelu OCR

Ve výchozím nastavení služba k extrakci textu používá nejnovější obecně dostupný model (GA). Počínaje verzí Read 3.2 model-version umožňuje parametr zvolit mezi modely GA a Preview pro danou verzi rozhraní API. Zadaný model se použije k extrakci textu pomocí operace Čtení.

Při použití operace čtení použijte pro volitelný model-version parametr následující hodnoty.

Hodnota Použitý model
Nezadá se Nejnovější model GA
nejnovější Nejnovější model GA
2022-04-30 Nejnovější model GA. 164 jazyků pro tisk textu a 9 jazyků pro rukou psaný text spolu s několika vylepšeními kvality a výkonu
2022-01-30-preview Model Preview přidává podporu tisku textu pro hindštinu, arabštinu a související jazyky. Pro rukou psaný text přidá podporu pro japonštinu a korejštinu.
2021-09-30-preview Model Preview přidává podporu tisku textu pro ruštinu a další jazyky cyrilice. Pro rukou psaný text přidá podporu pro zjednodušenou čínštinu, francouzštinu, němčinu, italštinu, portugalštinu a španělštinu.
2021-04-12 Model GA 2021

Jazyk zadávání

Ve výchozím nastavení služba extrahuje veškerý text z obrázků nebo dokumentů včetně smíšených jazyků. Operace čtení má volitelný parametr požadavku pro jazyk. Kód jazyka zadejte pouze v případě, že chcete vynutit zpracování dokumentu jako konkrétního jazyka. V opačném případě může služba vrátit neúplný a nesprávný text.

Výstup přirozeného pořadí čtení (pouze jazyky latinky)

Ve výchozím nastavení služba vypíše textové řádky v pořadí zleva doprava. Volitelně můžete s parametrem readingOrder požadavku použít natural pro popisnější výstup pořadí čtení, jak je znázorněno v následujícím příkladu. Tato funkce je podporována pouze pro jazyky latinky.

OCR Reading order example

Výběr stránek nebo rozsahů stránek pro extrakci textu

Ve výchozím nastavení služba extrahuje text ze všech stránek v dokumentech. Volitelně můžete pomocí parametru pages požadavku zadat čísla stránek nebo rozsahy stránek k extrakci textu pouze z těchto stránek. Následující příklad ukazuje dokument s 10 stránkami s textem extrahovaným pro oba případy – všechny stránky (1–10) a vybrané stránky (3–6).

Selected pages output

Odeslání dat do služby

Do rozhraní API pro čtení odešlete místní obrázek nebo vzdálený obrázek. V případě místního umístění vložíte data binárního obrázku do textu požadavku HTTP. Pro vzdálený přístup zadáte adresu URL obrázku tak, že naformátujete text požadavku takto: {"url":"http://example.com/images/test.jpg"}

Volání pro čtení rozhraní API pro čtení přebírá jako vstup obrázek nebo dokument PDF a asynchronně extrahuje text.

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

Volání se vrátí s polem hlavičky odpovědi s názvem Operation-Location. Hodnota Operation-Location je adresa URL, která obsahuje ID operace, které se má použít v dalším kroku.

Hlavička odpovědi Příklad hodnoty
Umístění operace https://cognitiveservice/vision/v3.2/read/analyzeResults/49a36324-fc4b-4387-aa06-090cfbf0064f

Poznámka:

Fakturace

Stránka s cenami služby Azure AI Vision zahrnuje cenovou úroveň pro čtení. Každý analyzovaný obrázek nebo stránka je jedna transakce. Pokud zavoláte operaci s dokumentem PDF nebo TIFF obsahujícím 100 stránek, operace čtení ji spočítá jako 100 transakcí a bude vám účtováno 100 transakcí. Pokud jste provedli 50 volání operace a každé volání odeslalo dokument se 100 stránkami, bude se vám účtovat 50 X 100 = 5000 transakcí.

Získání výsledků ze služby

Druhým krokem je volání operace Získat výsledky čtení. Tato operace přebírá jako vstup ID operace vytvořené operací čtení.

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

Vrátí odpověď JSON, která obsahuje pole stavu s následujícími možnými hodnotami.

Hodnota Význam
notStarted Operace nebyla spuštěna.
running Operace se zpracovává.
failed Operace se nezdařila.
succeeded Operace byla úspěšná.

Tuto operaci zavoláte iterativním způsobem, dokud se nevrátí s úspěšnou hodnotou. Použijte interval 1 až 2 sekundy, abyste se vyhnuli překročení rychlosti požadavků za sekundu (RPS).

Poznámka:

Úroveň Free omezuje rychlost požadavků na 20 volání za minutu. Placená úroveň umožňuje 30 požadavků za sekundu (RPS), které je možné na vyžádání zvýšit. Poznamenejte si identfier prostředků Azure a oblast a otevřete lístek podpora Azure nebo se obraťte na tým účtu a požádejte o vyšší sazbu žádosti za sekundu (RPS).

Pokud pole stavu obsahuje succeeded hodnotu, odpověď JSON obsahuje extrahovaný textový obsah z obrázku nebo dokumentu. Odpověď JSON udržuje původní řádkové seskupení rozpoznaných slov. Obsahuje extrahované textové čáry a jejich souřadnice ohraničujícího rámečku. Každý řádek textu obsahuje všechna extrahovaná slova se svými souřadnicemi a skóre spolehlivosti.

Poznámka:

Data odeslaná do operace čtení jsou dočasně zašifrovaná a uložená v klidovém stavu po krátkou dobu a pak se odstraní. To umožňuje aplikacím načíst extrahovaný text jako součást odpovědi služby.

Ukázkový výstup JSON

Podívejte se na následující příklad úspěšné odpovědi JSON:

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

Ručně psaná klasifikace pro textové řádky (pouze latinky)

Odpověď obsahuje klasifikaci toho, jestli je každý řádek textu v rukou psaném stylu nebo ne, spolu se skóre spolehlivosti. Tato funkce je dostupná jenom pro jazyky latinky. Následující příklad ukazuje rukou psanou klasifikaci textu na obrázku.

OCR handwriting classification example

Další kroky