Szybki start: odczyt usługi Azure AI Vision w wersji 3.2 (ogólna dostępność)
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).
Rozpocznij pracę z interfejsem API REST odczytu usługi Azure AI Vision lub bibliotekami klienckimi. Interfejs API odczytu udostępnia algorytmy sztucznej inteligencji do wyodrębniania tekstu z obrazów i zwracania go jako ciągów strukturalnych. Wykonaj następujące kroki, aby zainstalować pakiet w aplikacji i wypróbować przykładowy kod dla podstawowych zadań.
Użyj biblioteki klienta optycznego rozpoznawania znaków (OCR) do odczytywania tekstu drukowanego i odręcznego z obrazu. Usługa OCR może odczytywać widoczny tekst na obrazie i konwertować go na strumień znaków. Aby uzyskać więcej informacji na temat rozpoznawania tekstu, zobacz omówienie OCR. Kod w tej sekcji używa najnowszego pakietu usługi Azure AI Vision .
Napiwek
Możesz również wyodrębnić tekst z obrazu lokalnego. Zobacz metody ComputerVisionClient, takie jak ReadInStreamAsync. Możesz też zapoznać się z przykładowym kodem w usłudze GitHub , aby zapoznać się ze scenariuszami obejmującymi obrazy lokalne.
Dokumentacja referencyjna — pakiet | kodu | źródłowego biblioteki źródłowej (NuGet)Samples |
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie.
- Środowisko IDE programu Visual Studio lub bieżąca wersja platformy .NET Core.
- Zasób usługi Azure AI Vision. Możesz użyć warstwy cenowej bezpłatna (
F0
), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego. - Klucz i punkt końcowy z utworzonego zasobu w celu połączenia aplikacji z usługą Azure AI Vision.
- Po wdrożeniu zasobu usługi Azure Vision wybierz pozycję Przejdź do zasobu.
- W menu nawigacji po lewej stronie wybierz pozycję Klucze i punkt końcowy.
- Skopiuj jeden z kluczy i punkt końcowy do użycia w dalszej części przewodnika Szybki start.
Tworzenie zmiennych środowiskowych
W tym przykładzie zapisz swoje poświadczenia w zmiennych środowiskowych na komputerze lokalnym, na których jest uruchamiana aplikacja.
Przejdź do portalu Azure Portal. Jeśli zasób utworzony w sekcji Wymagania wstępne został wdrożony pomyślnie, wybierz pozycję Przejdź do zasobu w obszarze Następne kroki. Klucz i punkt końcowy można znaleźć w obszarze Zarządzanie zasobami na stronie Klucze i punkt końcowy . Klucz zasobu nie jest taki sam jak identyfikator subskrypcji platformy Azure.
Aby ustawić zmienną środowiskową dla klucza i punktu końcowego, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
VISION_KEY
środowiskową, zastąp<your_key>
element jednym z kluczy zasobu. - Aby ustawić zmienną
VISION_ENDPOINT
środowiskową, zastąp<your_endpoint>
element punktem końcowym zasobu.
Ważne
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą odczytywać zmienne środowiskowe, w tym okno konsoli.
Odczytywanie tekstu drukowanego i odręcznego
Utwórz nową aplikację w języku C#.
Za pomocą programu Visual Studio utwórz projekt aplikacja konsolowa (.NET Framework) dla języków C#, Windows, Console.
Po utworzeniu nowego projektu zainstaluj bibliotekę klienta:
- Kliknij prawym przyciskiem myszy rozwiązanie projektu w Eksplorator rozwiązań i wybierz pozycję Zarządzaj pakietami NuGet dla rozwiązania.
- W wyświetlonym menedżerze pakietów wybierz pozycję Przeglądaj. Wybierz pozycję Uwzględnij wersję wstępną.
- Wyszukaj i wybierz pozycję
Microsoft.Azure.CognitiveServices.Vision.ComputerVision
. - W oknie dialogowym szczegółów wybierz projekt i wybierz najnowszą stabilną wersję. Następnie wybierz pozycję Zainstaluj.
W katalogu projektu otwórz plik Program.cs w preferowanym edytorze lub środowisku IDE. Zastąp zawartość pliku Program.cs poniższym kodem.
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 key and endpoint static string key = Environment.GetEnvironmentVariable("VISION_KEY"); static string endpoint = Environment.GetEnvironmentVariable("VISION_ENDPOINT"); private const string READ_TEXT_URL_IMAGE = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/printed_text.jpg"; static void Main(string[] args) { Console.WriteLine("Azure Cognitive Services Computer Vision - .NET quickstart example"); Console.WriteLine(); ComputerVisionClient client = Authenticate(endpoint, key); // Extract text (OCR) from a URL image using the Read API ReadFileUrl(client, READ_TEXT_URL_IMAGE).Wait(); } public static ComputerVisionClient Authenticate(string endpoint, string key) { ComputerVisionClient client = new ComputerVisionClient(new ApiKeyServiceClientCredentials(key)) { Endpoint = endpoint }; return client; } 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); // 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)); // 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(); } } }
Opcjonalnie zobacz Określanie sposobu przetwarzania danych. Aby na przykład jawnie określić najnowszy model ga, zmodyfikuj wywołanie
ReadAsync
, jak pokazano. Pomiń parametr lub użyj polecenia"latest"
, aby użyć najnowszego modelu ogólnie dostępnego.// Read text from URL with a specific model version var textHeaders = await client.ReadAsync(urlFile,null,null,"2022-04-30");
Uruchom aplikację.
- Z menu Debugowanie wybierz pozycję Rozpocznij debugowanie.
Wyjście
Azure AI Vision - .NET quickstart example
----------------------------------------------------------
READ FILE FROM URL
Extracting text from URL file printed_text.jpg...
Nutrition Facts Amount Per Serving
Serving size: 1 bar (40g)
Serving Per Package: 4
Total Fat 13g
Saturated Fat 1.5g
Amount Per Serving
Trans Fat 0g
Calories 190
Cholesterol 0mg
ories from Fat 110
Sodium 20mg
nt Daily Values are based on Vitamin A 50%
calorie diet.
Czyszczenie zasobów
Jeśli chcesz wyczyścić i usunąć subskrypcję usług Azure AI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.
- Czyszczenie zasobów za pomocą witryny Azure Portal
- Czyszczenie zasobów przy użyciu interfejsu wiersza polecenia platformy Azure
Następne kroki
W tym przewodniku Szybki start przedstawiono sposób instalowania biblioteki klienta OCR i używania interfejsu API odczytu. Następnie dowiedz się więcej o funkcjach interfejsu API odczytu.
- Omówienie OCR
- Kod źródłowy tego przykładu można znaleźć w usłudze GitHub.
Użyj biblioteki klienta optycznego rozpoznawania znaków (OCR) do odczytywania tekstu drukowanego i odręcznego z obrazu zdalnego. Usługa OCR może odczytywać widoczny tekst na obrazie i konwertować go na strumień znaków. Aby uzyskać więcej informacji na temat rozpoznawania tekstu, zobacz omówienie OCR.
Napiwek
Możesz również odczytywać tekst z obrazu lokalnego. Zobacz metody ComputerVisionClientOperationsMixin, takie jak read_in_stream. Możesz też zapoznać się z przykładowym kodem w usłudze GitHub , aby zapoznać się ze scenariuszami obejmującymi obrazy lokalne.
Dokumentacja referencyjna — przykłady | pakietu kodu | źródłowego biblioteki źródłowej ()Samples |
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie.
- Python 3.x.
- Instalacja języka Python powinna zawierać narzędzie. Możesz sprawdzić, czy masz zainstalowane narzędzie, uruchom polecenie
pip --version
w wierszu polecenia. Pobierz narzędzie, instalując najnowszą wersję języka Python. - Zasób usługi Azure AI Vision. Możesz użyć warstwy cenowej bezpłatna (
F0
), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego. - Klucz i punkt końcowy z utworzonego zasobu w celu połączenia aplikacji z usługą Azure AI Vision.
- Po wdrożeniu zasobu usługi Azure Vision wybierz pozycję Przejdź do zasobu.
- W menu nawigacji po lewej stronie wybierz pozycję Klucze i punkt końcowy.
- Skopiuj jeden z kluczy i punkt końcowy do użycia w dalszej części przewodnika Szybki start.
Tworzenie zmiennych środowiskowych
W tym przykładzie zapisz swoje poświadczenia w zmiennych środowiskowych na komputerze lokalnym, na których jest uruchamiana aplikacja.
Przejdź do portalu Azure Portal. Jeśli zasób utworzony w sekcji Wymagania wstępne został wdrożony pomyślnie, wybierz pozycję Przejdź do zasobu w obszarze Następne kroki. Klucz i punkt końcowy można znaleźć w obszarze Zarządzanie zasobami na stronie Klucze i punkt końcowy . Klucz zasobu nie jest taki sam jak identyfikator subskrypcji platformy Azure.
Aby ustawić zmienną środowiskową dla klucza i punktu końcowego, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
VISION_KEY
środowiskową, zastąp<your_key>
element jednym z kluczy zasobu. - Aby ustawić zmienną
VISION_ENDPOINT
środowiskową, zastąp<your_endpoint>
element punktem końcowym zasobu.
Ważne
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą odczytywać zmienne środowiskowe, w tym okno konsoli.
Odczytywanie tekstu drukowanego i odręcznego
Zainstaluj bibliotekę klienta.
W oknie konsoli uruchom następujące polecenie:
pip install --upgrade azure-cognitiveservices-vision-computervision
Zainstaluj bibliotekę Pillow.
pip install pillow
Utwórz nowy plik aplikacji w języku Python, quickstart-file.py. Następnie otwórz go w preferowanym edytorze lub środowisku IDE.
Zastąp zawartość quickstart-file.py następującym kodem.
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 = os.environ["VISION_KEY"] endpoint = os.environ["VISION_ENDPOINT"] computervision_client = ComputerVisionClient(endpoint, CognitiveServicesCredentials(subscription_key)) ''' END - Authenticate ''' ''' 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://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png" # Call API with URL and raw response (allows you to get the operation location) read_response = computervision_client.read(read_image_url, raw=True) # 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() ''' END - Read File - remote ''' print("End of Computer Vision quickstart.")
Opcjonalnie zobacz Określanie sposobu przetwarzania danych. Aby na przykład jawnie określić najnowszy model ga, zmodyfikuj instrukcję
read
, jak pokazano. Pomijanie parametru lub używanie"latest"
go automatycznie używa najnowszego modelu ogólnie dostępnego.# Call API with URL and raw response (allows you to get the operation location) read_response = computervision_client.read(read_image_url, raw=True, model_version="2022-04-30")
Uruchom aplikację, wykonując polecenie
python
dla pliku szybkiego startu.python quickstart-file.py
Wyjście
===== Read File - remote =====
The quick brown fox jumps
[38.0, 650.0, 2572.0, 699.0, 2570.0, 854.0, 37.0, 815.0]
Over
[184.0, 1053.0, 508.0, 1044.0, 510.0, 1123.0, 184.0, 1128.0]
the lazy dog!
[639.0, 1011.0, 1976.0, 1026.0, 1974.0, 1158.0, 637.0, 1141.0]
End of Azure AI Vision quickstart.
Czyszczenie zasobów
Jeśli chcesz wyczyścić i usunąć subskrypcję usług Azure AI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.
- Czyszczenie zasobów za pomocą witryny Azure Portal
- Czyszczenie zasobów przy użyciu interfejsu wiersza polecenia platformy Azure
Następne kroki
W tym przewodniku Szybki start przedstawiono sposób instalowania biblioteki klienta OCR i używania interfejsu API odczytu. Następnie dowiedz się więcej o funkcjach interfejsu API odczytu.
- Omówienie OCR
- Kod źródłowy tego przykładu można znaleźć w usłudze GitHub.
Użyj biblioteki klienta optycznego rozpoznawania znaków (OCR), aby odczytywać tekst drukowany i odręczny przy użyciu interfejsu API odczytu. Usługa OCR może odczytywać widoczny tekst na obrazie i konwertować go na strumień znaków. Aby uzyskać więcej informacji na temat rozpoznawania tekstu, zobacz omówienie OCR.
Napiwek
Możesz również odczytywać tekst z obrazu lokalnego. Zobacz metody ComputerVisionClient, takie jak readInStream. Możesz też zapoznać się z przykładowym kodem w usłudze GitHub , aby zapoznać się ze scenariuszami obejmującymi obrazy lokalne.
Dokumentacja referencyjna | Package (npm)Samples |
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie.
- Bieżąca wersja platformy Node.js.
- Zasób usługi Azure AI Vision. Możesz użyć warstwy cenowej bezpłatna (
F0
), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego. - Klucz i punkt końcowy z utworzonego zasobu w celu połączenia aplikacji z usługą Azure AI Vision.
- Po wdrożeniu zasobu usługi Azure Vision wybierz pozycję Przejdź do zasobu.
- W menu nawigacji po lewej stronie wybierz pozycję Klucze i punkt końcowy.
- Skopiuj jeden z kluczy i punkt końcowy do użycia w dalszej części przewodnika Szybki start.
Tworzenie zmiennych środowiskowych
W tym przykładzie zapisz swoje poświadczenia w zmiennych środowiskowych na komputerze lokalnym, na których jest uruchamiana aplikacja.
Przejdź do portalu Azure Portal. Jeśli zasób utworzony w sekcji Wymagania wstępne został wdrożony pomyślnie, wybierz pozycję Przejdź do zasobu w obszarze Następne kroki. Klucz i punkt końcowy można znaleźć w obszarze Zarządzanie zasobami na stronie Klucze i punkt końcowy . Klucz zasobu nie jest taki sam jak identyfikator subskrypcji platformy Azure.
Aby ustawić zmienną środowiskową dla klucza i punktu końcowego, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
VISION_KEY
środowiskową, zastąp<your_key>
element jednym z kluczy zasobu. - Aby ustawić zmienną
VISION_ENDPOINT
środowiskową, zastąp<your_endpoint>
element punktem końcowym zasobu.
Ważne
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą odczytywać zmienne środowiskowe, w tym okno konsoli.
Odczytywanie tekstu drukowanego i odręcznego
Tworzenie nowej aplikacji Node.js.
W oknie konsoli utwórz nowy katalog dla aplikacji i przejdź do niego.
mkdir myapp cd myapp
Uruchom polecenie
npm init
, aby utworzyć aplikację Node przy użyciu plikupackage.json
. Wybierz Enter , aby wyświetlić monity.npm init
Aby zainstalować bibliotekę klienta, zainstaluj
ms-rest-azure
pakiet npm i@azure/cognitiveservices-computervision
:npm install ms-rest-azure npm install @azure/cognitiveservices-computervision
Zainstaluj moduł asynchroniczny:
npm install async
Plik aplikacji
package.json
jest aktualizowany przy użyciu zależności.Utwórz nowy plik, index.js i otwórz go w edytorze tekstów.
Wklej następujący kod do pliku index.js .
'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 = process.env.VISION_KEY; const endpoint = process.env.VISION_ENDPOINT; const computerVisionClient = new ComputerVisionClient( new ApiKeyCredentials({ inHeader: { 'Ocp-Apim-Subscription-Key': key } }), endpoint); /** * END - Authenticate */ function computerVision() { async.series([ async function () { /** * OCR: READ PRINTED & HANDWRITTEN TEXT WITH THE READ API * Extracts text from images using OCR (optical character recognition). */ console.log('-------------------------------------------------'); console.log('READ PRINTED, HANDWRITTEN TEXT AND PDF'); console.log(); // 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://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/printed_text.jpg'; // 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); // 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 !== "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. } // 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.'); } } } /** * * Download the specified file in the URL to the current local folder * */ function downloadFilesToLocal(url, localFileName) { return new Promise((resolve, reject) => { console.log('--- Downloading file to local directory from: ' + url); const request = https.request(url, (res) => { if (res.statusCode !== 200) { console.log(`Download sample file failed. Status code: ${res.statusCode}, Message: ${res.statusMessage}`); reject(); } var data = []; res.on('data', (chunk) => { data.push(chunk); }); res.on('end', () => { console.log(' ... Downloaded successfully'); fs.writeFileSync(localFileName, Buffer.concat(data)); resolve(); }); }); request.on('error', function (e) { console.log(e.message); reject(); }); request.end(); }); } /** * END - Recognize Printed & Handwritten Text */ console.log(); console.log('-------------------------------------------------'); console.log('End of quickstart.'); }, function () { return new Promise((resolve) => { resolve(); }) } ], (err) => { throw (err); }); } computerVision();
Opcjonalnie zobacz Określanie sposobu przetwarzania danych. Aby na przykład jawnie określić najnowszy model ga, zmodyfikuj instrukcję
read
, jak pokazano. Pomijanie parametru lub używanie"latest"
go automatycznie używa najnowszego modelu ogólnie dostępnego.let result = await client.read(url,{modelVersion:"2022-04-30"});
Uruchom aplikację, wykonując polecenie
node
dla pliku szybkiego startu.node index.js
Wyjście
-------------------------------------------------
READ PRINTED, HANDWRITTEN TEXT AND PDF
Read printed text from URL... printed_text.jpg
Recognized text:
Nutrition Facts Amount Per Serving
Serving size: 1 bar (40g)
Serving Per Package: 4
Total Fat 13g
Saturated Fat 1.5g
Amount Per Serving
Trans Fat 0g
Calories 190
Cholesterol 0mg
ories from Fat 110
Sodium 20mg
nt Daily Values are based on Vitamin A 50%
calorie diet.
-------------------------------------------------
End of quickstart.
Czyszczenie zasobów
Jeśli chcesz wyczyścić i usunąć subskrypcję usług Azure AI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.
- Czyszczenie zasobów za pomocą witryny Azure Portal
- Czyszczenie zasobów przy użyciu interfejsu wiersza polecenia platformy Azure
Następne kroki
W tym przewodniku Szybki start przedstawiono sposób instalowania biblioteki klienta OCR i używania interfejsu API odczytu. Następnie dowiedz się więcej o funkcjach interfejsu API odczytu.
- Omówienie OCR
- Kod źródłowy tego przykładu można znaleźć w usłudze GitHub.
Interfejs API REST rozpoznawania znaków optycznych (OCR) umożliwia odczytywanie tekstu drukowanego i odręcznego.
Uwaga
Ten przewodnik Szybki start używa poleceń cURL do wywoływania interfejsu API REST. Interfejs API REST można również wywołać przy użyciu języka programowania. Zobacz przykłady dotyczące usługi GitHub, aby zapoznać się z przykładami w językach C#, Python, Java i JavaScript.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie.
- Zainstalowano bibliotekę cURL .
- Zasób usługi Azure AI Vision. Możesz użyć warstwy cenowej bezpłatna (
F0
), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego. - Klucz i punkt końcowy z utworzonego zasobu w celu połączenia aplikacji z usługą Azure AI Vision.
- Po wdrożeniu zasobu usługi Azure Vision wybierz pozycję Przejdź do zasobu.
- W menu nawigacji po lewej stronie wybierz pozycję Klucze i punkt końcowy.
- Skopiuj jeden z kluczy i punkt końcowy do użycia w dalszej części przewodnika Szybki start.
Odczytywanie tekstu drukowanego i odręcznego
Usługa optycznego rozpoznawania znaków (OCR) może wyodrębniać widoczny tekst na obrazie lub dokumencie i konwertować go na strumień znaków. Aby uzyskać więcej informacji na temat wyodrębniania tekstu, zobacz omówienie OCR.
Wywoływanie interfejsu API odczytu
Aby utworzyć i uruchomić przykład, wykonaj następujące kroki:
Skopiuj następujące polecenie do edytora tekstów.
W razie potrzeby wprowadź w poleceniu następujące zmiany:
- Zastąp wartość
<key>
kluczem. - Zastąp pierwszą część adresu URL żądania (
https://westcentralus.api.cognitive.microsoft.com/
) tekstem we własnym adresie URL punktu końcowego.Uwaga
Nowe zasoby utworzone po 1 lipca 2019 r. będą używać niestandardowych nazw domen podrzędnych. Aby uzyskać więcej informacji i pełną listę regionalnych punktów końcowych, zobacz Niestandardowe nazwy poddomeny dla usług Azure AI.
- Opcjonalnie zmień adres URL obrazu w treści żądania (
https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png
) na adres URL innego obrazu do analizy.
- Zastąp wartość
Otwórz okno wiersza polecenia.
Wklej polecenie z edytora tekstów w oknie wiersza polecenia, a następnie uruchom polecenie.
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://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"
Odpowiedź zawiera Operation-Location
nagłówek, którego wartość jest unikatowym adresem URL. Ten adres URL służy do wykonywania zapytań dotyczących wyników operacji Odczyt. Adres URL wygasa w ciągu 48 godzin.
Opcjonalnie określ wersję modelu
Opcjonalnie zobacz Określanie sposobu przetwarzania danych. Aby na przykład jawnie określić najnowszy model ga, użyj model-version=2022-04-30
parametru jako parametru. Pomijanie parametru lub używanie model-version=latest
go automatycznie używa najnowszego modelu ogólnie dostępnego.
curl -v -X POST "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyze?model-version=2022-04-30" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: <subscription key>" --data-ascii "{'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"
Pobieranie wyników odczytu
Skopiuj następujące polecenie do edytora tekstów.
Zastąp adres URL wartością
Operation-Location
skopiowaną w poprzedniej procedurze.Zastąp wartość
<key>
kluczem.Otwórz okno konsoli.
Wklej polecenie z edytora tekstów w oknie konsoli, a następnie uruchom polecenie.
curl -v -X GET "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyzeResults/{operationId}" -H "Ocp-Apim-Subscription-Key: {key}" --data-ascii "{body}"
Sprawdzanie odpowiedzi
Po pomyślnym przetworzeniu żądania zostanie zwrócona odpowiedź w formacie JSON. Przykładowa aplikacja analizuje i wyświetla pomyślną odpowiedź w oknie konsoli, podobnie jak w poniższym przykładzie:
{
"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
}
]
}
]
}
]
}
}
Czyszczenie zasobów
Jeśli chcesz wyczyścić i usunąć subskrypcję usług Azure AI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.
- Czyszczenie zasobów za pomocą witryny Azure Portal
- Czyszczenie zasobów przy użyciu interfejsu wiersza polecenia platformy Azure
Następne kroki
W tym przewodniku Szybki start przedstawiono sposób wywoływania interfejsu API REST odczytu. Następnie dowiedz się więcej o funkcjach interfejsu API odczytu.
Wymagania wstępne
Subskrypcja platformy Azure — utwórz bezpłatnie.
Zasób usługi Azure AI Vision. Możesz użyć warstwy cenowej bezpłatna (
F0
), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.Nawiązywanie połączenia z usługą Vision Studio.
- Może być konieczne zalogowanie się.
- Po zalogowaniu wybierz pozycję Wyświetl wszystkie zasoby. W razie potrzeby wybierz pozycję Odśwież. Sprawdź, czy zasób jest dostępny.
Aby uzyskać więcej informacji, zobacz Wprowadzenie do korzystania z programu Vision Studio.
Odczytywanie tekstu drukowanego i odręcznego
W obszarze Optyczne rozpoznawanie znaków wybierz pozycję Wyodrębnij tekst z obrazów.
W obszarze Wypróbuj potwierdź, że ta wersja demonstracyjna wiąże się z użyciem konta platformy Azure. Aby uzyskać więcej informacji, zobacz Cennik usługi Azure AI Vision.
Wybierz obraz z dostępnego zestawu lub przekaż własny.
W razie potrzeby wybierz pozycję Wybierz zasób, aby wybrać zasób .
Po wybraniu obrazu wyodrębniony tekst zostanie wyświetlony w oknie danych wyjściowych. Możesz również wybrać kartę JSON, aby wyświetlić dane wyjściowe JSON zwracane przez wywołanie interfejsu API.
Poniżej środowiska try-it-out są następne kroki, aby rozpocząć korzystanie z tej funkcji we własnej aplikacji.
Następne kroki
W tym przewodniku Szybki start użyto programu Vision Studio do uzyskiwania dostępu do interfejsu API odczytu. Następnie dowiedz się więcej o funkcjach interfejsu API odczytu.