Udostępnij za pośrednictwem


Wywoływanie interfejsu API odczytu usługi Azure AI Vision w wersji 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 poniższych krokach założono, że utworzono już zasób przetwarzanie obrazów i uzyskano klucz i adres URL punktu końcowego. Jeśli jeszcze tego nie zrobisz, zapoznaj się 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).

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 odczytu w wersji 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 służy 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
Najnowsze 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 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 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.

Zrzut ekranu przedstawiający przykład kolejności odczytywania OCR.

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

Zrzut ekranu przedstawiający dane wyjściowe ze wszystkich stron i z wybranych stron.

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 zdalnego określ adres URL obrazu, formatując treść żądania, jak w poniższym przykładzie.

{"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/d3d3d3d3-eeee-ffff-aaaa-b4b4b4b4b4b4

Uwaga

Rozliczenia

Strona cennika usługi Azure AI Vision zawiera warstwę cenową dla operacji odczytu. 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 wynik 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ń o 30 RPS. 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 poprosić o wyższą stawkę 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.

Zrzut ekranu przedstawiający przykład klasyfikacji pisma ręcznego OCR.