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