Wywoływanie interfejsu API odczytu usługi Azure AI Vision 3.2 (ogólna dostępność)

W tym przewodniku przedstawiono sposób wywoływania interfejsu API odczytu ogólnie dostępnego w wersji 3.2 w celu wyodrębnienia tekstu z obrazów. Poznasz różne sposoby konfigurowania zachowania tego interfejsu API w celu spełnienia Twoich potrzeb. W tym przewodniku założono, że masz już utworzony zasób usługi Vision i uzyskano klucz i adres URL punktu końcowego. Jeśli jeszcze tego nie zrobisz, postępuj zgodnie z przewodnikiem Szybki start , aby rozpocząć pracę.

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

Wymagania dotyczące danych wejściowych

Wywołanie interfejsu API odczytu pobiera obrazy i dokumenty jako dane wejściowe. Mają one następujące wymagania:

  • Obsługiwane formaty plików: JPEG, PNG, BMP, PDF i TIFF
  • W przypadku plików PDF i TIFF przetwarzanych jest maksymalnie 2000 stron (tylko pierwsze dwie strony w przypadku warstwy Bezpłatna).
  • Rozmiar pliku obrazów musi być mniejszy niż 500 MB (4 MB w przypadku warstwy Bezpłatna) i ich wymiary muszą wynosić co najmniej 50 x 50 pikseli, a maksymalnie 10 000 x 10 000 pikseli. Pliki PDF nie mają limitu rozmiaru.
  • Minimalna wysokość wyodrębnianego tekstu to 12 pikseli w przypadku obrazu 1024 x 768. Odpowiada to około 8 tekstowi punktu czcionki przy rozdzielczości 150 DPI.

Uwaga

Nie musisz przycinać obrazu dla wierszy tekstu. Wyślij cały obraz do interfejsu API odczytu i rozpozna wszystkie teksty.

Określanie sposobu przetwarzania danych (opcjonalnie)

Określanie modelu OCR

Domyślnie usługa używa najnowszego modelu ogólnie dostępnego (GA) do wyodrębniania tekstu. Począwszy od wersji Read 3.2, model-version parametr umożliwia wybór między modelami ogólnie dostępnymi i wersjami zapoznawczymi dla danej wersji interfejsu API. Określony model będzie używany do wyodrębniania tekstu z operacją Odczyt.

W przypadku korzystania z operacji Odczyt użyj następujących wartości dla opcjonalnego model-version parametru.

Wartość Używany model
Nie podano Najnowszy model ogólnie dostępnej wersji
latest Najnowszy model ogólnie dostępnej wersji
2022-04-30 Najnowszy model ga. 164 języki do drukowania tekstu i 9 języków tekstu odręcznego wraz z kilkoma ulepszeniami jakości i wydajności
2022-01-30-preview Model w wersji zapoznawczej dodaje obsługę tekstu drukowanego dla języków hindi, arabskich i pokrewnych. W przypadku tekstu odręcznego dodano obsługę języka japońskiego i koreańskiego.
2021-09-30-preview Model w wersji zapoznawczej dodaje obsługę tekstu drukowanego dla języków rosyjskich i innych języków cyrylica. W przypadku tekstu odręcznego dodano obsługę chińskich uproszczonych, francuskich, niemieckich, włoskich, portugalskich i hiszpańskich.
2021-04-12 Model ogólnie dostępnej wersji 2021

Język wprowadzania

Domyślnie usługa wyodrębnia cały tekst z obrazów lub dokumentów, w tym języki mieszane. Operacja odczytu ma opcjonalny parametr żądania dla języka. Podaj tylko kod języka, jeśli chcesz wymusić przetworzenie dokumentu jako tego konkretnego języka. W przeciwnym razie usługa może zwrócić niekompletny i niepoprawny tekst.

Dane wyjściowe kolejności czytania naturalnego (tylko języki łacińskie)

Domyślnie usługa generuje wiersze tekstu w kolejności od lewej do prawej. Opcjonalnie przy użyciu parametru readingOrder żądania użyj natural polecenia w celu uzyskania bardziej przyjaznych dla człowieka danych wyjściowych kolejności odczytu, jak pokazano w poniższym przykładzie. Ta funkcja jest obsługiwana tylko w językach łacińskich.

OCR Reading order example

Wybieranie stron lub zakresów stron na potrzeby wyodrębniania tekstu

Domyślnie usługa wyodrębnia tekst ze wszystkich stron w dokumentach. Opcjonalnie użyj parametru pages żądania, aby określić numery stron lub zakresy stron w celu wyodrębnienia tekstu tylko z tych stron. Poniższy przykład przedstawia dokument z 10 stronami z tekstem wyodrębnionym w obu przypadkach — wszystkie strony (1–10) i wybrane strony (3–6).

Selected pages output

Przesyłanie danych do usługi

Przesyłasz obraz lokalny lub obraz zdalny do interfejsu API odczytu. W przypadku środowiska lokalnego dane obrazu binarnego są umieszczane w treści żądania HTTP. W przypadku funkcji zdalnej należy określić adres URL obrazu, formatując treść żądania w następujący sposób: {"url":"http://example.com/images/test.jpg"}.

Wywołanie odczytu interfejsu API odczytu przyjmuje obraz lub dokument PDF jako dane wejściowe i wyodrębnia tekst asynchronicznie.

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

Wywołanie zwraca wartość z polem nagłówka odpowiedzi o nazwie Operation-Location. Wartość Operation-Location jest adresem URL zawierającym identyfikator operacji, który ma być używany w następnym kroku.

Nagłówek odpowiedzi Przykładowa wartość
Lokalizacja operacji https://cognitiveservice/vision/v3.2/read/analyzeResults/49a36324-fc4b-4387-aa06-090cfbf0064f

Uwaga

Rozliczenia

Strona cennika usługi Azure AI Vision zawiera warstwę cenową odczytaną. Każdy przeanalizowany obraz lub strona to jedna transakcja. Jeśli wywołasz operację z dokumentem PDF lub TIFF zawierającym 100 stron, operacja Odczyt zliczy ją jako 100 transakcji i zostanie naliczona opłata za 100 transakcji. Jeśli wykonano 50 wywołań operacji, a każde wywołanie przesłało dokument z 100 stronami, opłata zostanie naliczona za 50 X 100 = 5000 transakcji.

Pobieranie wyników z usługi

Drugim krokiem jest wywołanie operacji Pobierz wyniki odczytu. Ta operacja przyjmuje jako dane wejściowe identyfikator operacji utworzonej przez operację Odczyt.

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

Zwraca odpowiedź JSON zawierającą pole stanu z następującymi możliwymi wartościami.

Wartość Znaczenie
notStarted Operacja nie została uruchomiona.
running Operacja jest przetwarzana.
failed Operacja nie powiodła się.
succeeded Operacja zakończyła się pomyślnie.

Ta operacja jest wywoływana iteracyjnie, dopóki nie zwróci wartości powodzenia. Użyj interwału od 1 do 2 sekund, aby uniknąć przekroczenia liczby żądań na sekundę (RPS).

Uwaga

Warstwa Bezpłatna ogranicza szybkość żądań do 20 wywołań na minutę. Warstwa płatna umożliwia zwiększenie liczby żądań na sekundę (RPS), które można zwiększyć po żądaniu. Zanotuj identyfikator zasobu platformy Azure i region, a następnie otwórz bilet pomoc techniczna platformy Azure lub skontaktuj się z zespołem ds. kont, aby zażądać wyższej stawki za żądanie na sekundę (RPS).

Gdy pole stanu ma succeeded wartość, odpowiedź JSON zawiera wyodrębnionej zawartości tekstowej z obrazu lub dokumentu. Odpowiedź JSON utrzymuje oryginalne grupowania wierszy rozpoznanych wyrazów. Zawiera on wyodrębnione wiersze tekstu i ich współrzędne pola ograniczenia. Każdy wiersz tekstu zawiera wszystkie wyodrębnione wyrazy ze współrzędnymi i współczynnikami ufności.

Uwaga

Dane przesyłane do operacji odczytu są tymczasowo szyfrowane i przechowywane w spoczynku przez krótki czas, a następnie usuwane. Dzięki temu aplikacje pobierają wyodrębniony tekst w ramach odpowiedzi usługi.

Przykładowe dane wyjściowe JSON

Zobacz następujący przykład pomyślnej odpowiedzi 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
              }
            ]
          }
        ]
      }
    ]
  }
}

Klasyfikacja odręczna dla wierszy tekstu (tylko języki łacińskie)

Odpowiedź zawiera klasyfikację tego, czy każdy wiersz tekstu jest w stylu odręcznym, czy nie, wraz z oceną ufności. Ta funkcja jest dostępna tylko w językach łacińskich. Poniższy przykład przedstawia klasyfikację odręczną tekstu na obrazie.

OCR handwriting classification example

Następne kroki