Quickstart: De ocr-clientbibliotheek (Optical Character Recognition) of REST API
Ga aan de slag met Computer Vision Read REST API of clientbibliotheken. De Read-service biedt u AI-algoritmen voor het extraheren van zichtbare tekst uit afbeeldingen en het retourneren ervan als gestructureerde tekenreeksen. Volg deze stappen om een pakket in uw toepassing te installeren en de voorbeeldcode voor basistaken te proberen.
Gebruik de OCR-clientbibliotheek om gedrukte en handgeschreven tekst uit een afbeelding te lezen.
Referentiedocumentatie | Broncode van bibliotheek | Pakket (NuGet) | Voorbeelden
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- De Visual Studio IDE of de huidige versie van .NET Core.
- Zodra u een Azure-abonnement hebt, maakt u een Computer Vision-resource in Azure Portal om uw sleutel en eindpunt op te halen. Nadat de app is geïmplementeerd, klikt u op Ga naar resource.
- U hebt de sleutel en het eindpunt nodig van de resource die u maakt, om de toepassing te verbinden met de Computer Vision-service. Later in de quickstart plakt u uw sleutel en eindpunt in de onderstaande code.
- U kunt de gratis prijscategorie (
F0) gebruiken om de service uit te proberen, en later upgraden naar een betaalde laag voor productie.
Instellen
Een nieuwe C#-toepassing maken
Maak met behulp van Visual Studio een nieuwe .NET Core-toepassing.
De clientbibliotheek installeren
Nadat u een nieuw project hebt gemaakt, installeert u de clientbibliotheek door in Solution Explorer met de rechtermuisknop op de projectoplossing te klikken en NuGet-pakketten beheren te selecteren. Selecteer in de package manager die wordt geopend de optie Bladeren, schakel Prerelease opnemen in en zoek naar Microsoft.Azure.CognitiveServices.Vision.ComputerVision. Selecteer versie 7.0.0 en vervolgens Installeren.
Tip
Wilt u het codebestand voor de quickstart in één keer weergeven? Die is te vinden op GitHub, waar de codevoorbeelden uit deze quickstart zich bevinden.
Open vanuit de projectmap het bestand Program.cs in uw favoriete editor of IDE.
De abonnementssleutel en het eindpunt zoeken
Ga naar Azure Portal. Als de Computer Vision-resource die u in de sectie Vereisten hebt gemaakt, succesvol is geïmplementeerd, klikt u op de knop Ga naar resource onder Volgende stappen. U vindt uw abonnementssleutel en eindpunt op de pagina sleutel en eindpunt van de resource, onder resourcebeheer.
Maak in de klasse Program van de toepassing variabelen voor uw Computer Vision-abonnementssleutel en -eindpunt. Plak waar aangegeven uw abonnementssleutel en -eindpunt in de volgende code. Uw Computer Vision eindpunt heeft de vorm https://<your_computer_vision_resource_name>.cognitiveservices.azure.com/ .
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 subscription key and endpoint
static string subscriptionKey = "PASTE_YOUR_COMPUTER_VISION_SUBSCRIPTION_KEY_HERE";
static string endpoint = "PASTE_YOUR_COMPUTER_VISION_ENDPOINT_HERE";
Belangrijk
Vergeet niet om de abonnementssleutel uit uw code te verwijderen wanneer u klaar bent en deze nooit openbaar te plaatsen. Overweeg om voor productie een veilige manier te gebruiken voor het opslaan en openen van uw referenties. Bijvoorbeeld Azure Key Vault.
Voeg in de methode Main van de toepassing aanroepen toe voor de methoden die in deze quickstart worden gebruikt. U gaat deze later maken.
ComputerVisionClient client = Authenticate(endpoint, subscriptionKey);
// Extract text (OCR) from a URL image using the Read API
ReadFileUrl(client, READ_TEXT_URL_IMAGE).Wait();
Objectmodel
De volgende klassen en interfaces verwerken enkele van de belangrijkste functies van de OCR .NET SDK.
| Naam | Beschrijving |
|---|---|
| ComputerVisionClient | Deze klasse is nodig voor alle Computer Vision-functionaliteit. U instantieert deze klasse met uw abonnementsgegevens en gebruikt deze om de meeste afbeeldingsbewerkingen uit te voeren. |
| ComputerVisionClientExtensions | Deze klasse bevat aanvullende methoden voor de ComputerVisionClient. |
Codevoorbeelden
Deze codefragmenten laten zien hoe u de volgende taken kunt uitvoeren met de OCR-clientbibliotheek voor .NET:
De client verifiëren
In een nieuwe methode in de klasse Program maakt u een client met uw eindpunt en abonnementssleutel. Maak een ApiKeyServiceClientCredentials-object met uw abonnementssleutel en gebruik dit met uw eindpunt om een ComputerVisionClient-object te maken.
/*
* AUTHENTICATE
* Creates a Computer Vision client used by each example.
*/
public static ComputerVisionClient Authenticate(string endpoint, string key)
{
ComputerVisionClient client =
new ComputerVisionClient(new ApiKeyServiceClientCredentials(key))
{ Endpoint = endpoint };
return client;
}
Afgedrukte en handgeschreven tekst lezen
De OCR-service kan zichtbare tekst in een afbeelding lezen en converteren naar een tekenstroom. Zie het Overzicht van optische tekenherkenning (OCR) voor meer informatie over tekstherkenning. De code in deze sectie maakt gebruik van de nieuwste Computer Vision SDK-release voor Read 3.0 en definieert een methode, , die gebruikmaakt van het clientobject om tekst in de afbeelding te detecteren en te BatchReadFileUrl extraheren.
Tip
U kunt ook tekst extraheren uit een lokale afbeelding. Zie de ComputerVisionClient-methoden, zoals ReadInStreamAsync. Of zie de voorbeeldcode op GitHub voor scenario's met betrekking tot lokale afbeeldingen.
Testafbeelding instellen
Sla in uw klasse Programma een verwijzing op naar de URL van de afbeelding waaruit u tekst wilt extraheren. Dit codefragment bevat voorbeeldafbeeldingen van gedrukte en handgeschreven tekst.
private const string READ_TEXT_URL_IMAGE = "https://intelligentkioskstore.blob.core.windows.net/visionapi/suggestedphotos/3.png";
De Read-API aanroepen
Definieer de nieuwe methode voor het lezen van tekst. Voeg de onderstaande code toe, die de methode ReadAsync aanroept voor de gegeven afbeelding. Hiermee wordt een bewerkings-id geretourneerd en wordt een asynchroon proces gestart om de inhoud van de afbeelding te lezen.
/*
* READ FILE - URL
* Extracts text.
*/
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);
Leesresultaten ophalen
Vervolgens haalt u de bewerkings-id op die wordt geretourneerd vanaf de ReadAsync-aanroep en gebruikt u deze om de service te doorzoeken op de resultaten van de bewerking. Met de volgende code wordt de bewerking gecontroleerd totdat de resultaten worden geretourneerd. Vervolgens worden de geëxtraheerde tekstgegevens afgedrukt naar de console.
// 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));
Leesresultaten weergeven
Voeg de volgende code toe om de opgehaalde tekstgegevens te parseren en weer te geven, en voltooi de methodedefinitie.
// 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();
}
De toepassing uitvoeren
Voer de toepassing uit door boven in het IDE-venster op de knop Fouten opsporen te klikken.
Resources opschonen
Als u een Cognitive Services-abonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.
Volgende stappen
In deze quickstart hebt u geleerd hoe u de OCR-clientbibliotheek installeert en de Read-API gebruikt. Hierna krijgt u meer informatie over de functies van de Read API.
- Overzicht van OCR
- De broncode voor dit voorbeeld is te vinden op GitHub.
Gebruik de clientbibliotheek voor optische tekenherkenning om gedrukte en handgeschreven tekst te lezen met de Read-API.
Referentiedocumentatie | Broncode bibliotheek | Package (PiPy) | Voorbeelden
Vereisten
Een Azure-abonnement - Een gratis abonnement maken
-
- Uw Python-installatie moet pip bevatten. U kunt controleren of pip is geïnstalleerd door uit te voeren
pip --versionop de opdrachtregel. Haal pip op door de nieuwste versie van Python te installeren.
- Uw Python-installatie moet pip bevatten. U kunt controleren of pip is geïnstalleerd door uit te voeren
Zodra u een Azure-abonnement hebt, maakt Computer Vision resource een Computer Vision-resource in de Azure Portal om uw sleutel en eindpunt op te halen. Nadat de app is geïmplementeerd, klikt u op Ga naar resource.
- U hebt de sleutel en het eindpunt nodig van de resource die u maakt, om de toepassing te verbinden met de Computer Vision-service. Later in de quickstart plakt u uw sleutel en eindpunt in de onderstaande code.
- U kunt de gratis prijscategorie (
F0) gebruiken om de service uit te proberen, en later upgraden naar een betaalde laag voor productie.
Instellen
De clientbibliotheek installeren
U kunt de clientbibliotheek installeren met:
pip install --upgrade azure-cognitiveservices-vision-computervision
Installeer ook de Pillow-bibliotheek.
pip install pillow
Een nieuwe Python-toepassing maken
Tip
Wilt u het codebestand voor de quickstart in één keer weergeven? Die is te vinden op GitHub, waar de codevoorbeelden uit deze quickstart zich bevinden.
Maak bijvoorbeeld een nieuw Python-bestand—quickstart-file.py. Open het vervolgens in uw favoriete editor of IDE.
De abonnementssleutel en het eindpunt zoeken
Ga naar Azure Portal. Als de Computer Vision-resource die u in de sectie Vereisten hebt gemaakt, succesvol is geïmplementeerd, klikt u op de knop Ga naar resource onder Volgende stappen. U vindt uw abonnementssleutel en eindpunt op de pagina sleutel en eindpunt van de resource, onder resourcebeheer.
Maak variabelen voor uw Computer Vision-abonnementssleutel en eindpunt. Plak waar aangegeven uw abonnementssleutel en -eindpunt in de volgende code. Uw Computer Vision eindpunt heeft de vorm https://<your_computer_vision_resource_name>.cognitiveservices.azure.com/ .
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 = "PASTE_YOUR_COMPUTER_VISION_SUBSCRIPTION_KEY_HERE"
endpoint = "PASTE_YOUR_COMPUTER_VISION_ENDPOINT_HERE"
Belangrijk
Vergeet niet om de abonnementssleutel uit uw code te verwijderen wanneer u klaar bent en deze nooit openbaar te plaatsen. Overweeg om voor productie een veilige manier te gebruiken voor het opslaan en openen van uw referenties. Bijvoorbeeld Azure Key Vault.
Ik heb de variabelen ingesteld waar ik een probleem mee heb
Objectmodel
De volgende klassen en interfaces verwerken enkele van de belangrijkste functies van de OCR Python SDK.
| Naam | Beschrijving |
|---|---|
| ComputerVisionClientOperationsMixin | Met deze klasse worden alle afbeeldingsbewerkingen, zoals het analyseren van afbeeldingen, detecteren van tekst en genereren van miniaturen, direct afgehandeld. |
| ComputerVisionClient | Deze klasse is nodig voor alle Computer Vision-functionaliteit. U instantieert deze klasse met uw abonnementsgegevens en gebruikt deze om instanties van andere klassen te maken. Deze implementeert ComputerVisionClientOperationsMixin. |
| VisualFeatureTypes | Deze opsomming definieert de verschillende typen afbeeldingsanalyse die kunnen worden uitgevoerd in een standaard analysebewerking. U geeft een set VisualFeatureTypes-waarden op, afhankelijk van uw behoeften. |
Codevoorbeelden
Deze codefragmenten laten zien hoe u de volgende taken kunt uitvoeren met de OCR-clientbibliotheek voor Python:
De client verifiëren
Instantieer een client met uw eindpunt en sleutel. Maak een CognitiveServicesCredentials-object met uw sleutel en gebruik het met uw eindpunt om een ComputerVisionClient--object te maken.
computervision_client = ComputerVisionClient(endpoint, CognitiveServicesCredentials(subscription_key))
Afgedrukte en handgeschreven tekst lezen
De OCR-service kan zichtbare tekst in een afbeelding lezen en converteren naar een tekenstroom. Dit doet u in twee delen.
De Read-API aanroepen
Gebruik eerst de volgende code om de methode read aan te roepen voor de gegeven afbeelding. Hiermee wordt een bewerkings-id geretourneerd en wordt een asynchroon proces gestart om de inhoud van de afbeelding te lezen.
'''
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://raw.githubusercontent.com/MicrosoftDocs/azure-docs/master/articles/cognitive-services/Computer-vision/Images/readsample.jpg"
# Call API with URL and raw response (allows you to get the operation location)
read_response = computervision_client.read(read_image_url, raw=True)
Tip
U kunt ook tekst lezen uit een lokale afbeelding. Zie de ComputerVisionClientOperationsMixin-methoden, bijvoorbeeld read_in_stream. Of bekijk de voorbeeldcode op GitHub voor scenario's met betrekking tot lokale afbeeldingen.
Leesresultaten ophalen
Vervolgens haalt u de bewerkings-id op die wordt geretourneerd vanaf de read-aanroep en gebruikt u deze om de service te doorzoeken op de resultaten van de bewerking. Met de volgende code wordt de bewerking gecontroleerd met een interval van één seconde totdat de resultaten worden geretourneerd. Vervolgens worden de geëxtraheerde tekstgegevens afgedrukt naar de console.
# 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()
De toepassing uitvoeren
Voer de toepassing uit met de opdracht python in uw quickstart-bestand.
python quickstart-file.py
Resources opschonen
Als u een Cognitive Services-abonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.
Volgende stappen
In deze quickstart hebt u geleerd hoe u de OCR-clientbibliotheek installeert en de Read-API gebruikt. Hierna krijgt u meer informatie over de functies van de Read API.
- Overzicht van OCR
- De broncode voor dit voorbeeld is te vinden op GitHub.
Gebruik de clientbibliotheek voor optische tekenherkenning om gedrukte en handgeschreven tekst in afbeeldingen te lezen.
Referentiedocumentatie | Broncode bibliotheek |Artefact (Maven) | Voorbeelden
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- De huidige versie van de Java Development Kit (JDK)
- Het hulpprogramma Gradle of een andere afhankelijkheidsbeheerder.
- Zodra u een Azure-abonnement hebt, maakt u een Computer Vision-resource in Azure Portal om uw sleutel en eindpunt op te halen. Nadat de app is geïmplementeerd, klikt u op Ga naar resource.
- U hebt de sleutel en het eindpunt nodig van de resource die u maakt, om de toepassing te verbinden met de Computer Vision-service. Later in de quickstart plakt u uw sleutel en eindpunt in de onderstaande code.
- U kunt de gratis prijscategorie (
F0) gebruiken om de service uit te proberen, en later upgraden naar een betaalde laag voor productie.
Instellen
Een nieuw Gradle-project maken
Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor de app, en navigeer naar deze map.
mkdir myapp && cd myapp
Voer de opdracht gradle init uit vanuit uw werkmap. Met deze opdracht maakt u essentiële buildbestanden voor Gradle, inclusief build.gradle.kts, dat tijdens runtime wordt gebruikt om de toepassing te maken en te configureren.
gradle init --type basic
Wanneer u wordt gevraagd om een DSL te kiezen, selecteert u Kotlin.
De clientbibliotheek installeren
Deze quickstart maakt gebruik van de Gradle-afhankelijkheidsmanager. U vindt de clientbibliotheek en informatie voor andere afhankelijkheidsbeheerders in de Maven Central Repository.
Zoek build.gradle.kts en open het met uw favoriete IDE of teksteditor. Kopieer het vervolgens in de volgende buildconfiguratie. Deze configuratie definieert het project als een Java-toepassing waarvan het toegangspunt de klasse ComputerVisionQuickstart is. Hiermee wordt de Computer Vision-bibliotheek geïmporteerd.
plugins {
java
application
}
application {
mainClass.set("ComputerVisionQuickstart")
}
repositories {
mavenCentral()
}
dependencies {
implementation(group = "com.microsoft.azure.cognitiveservices", name = "azure-cognitiveservices-computervision", version = "1.0.6-beta")
}
Een Java-bestand maken
Voer de volgende opdracht uit vanuit uw werkmap om een projectbronmap te maken:
mkdir -p src/main/java
Tip
Wilt u het codebestand voor de quickstart in één keer weergeven? Die is te vinden op GitHub, waar de codevoorbeelden uit deze quickstart zich bevinden.
Navigeer naar de nieuwe map en maak een bestand met de naam ComputerVisionQuickstart.java. Open deze in uw favoriete editor of IDE.
De abonnementssleutel en het eindpunt zoeken
Ga naar Azure Portal. Als de Computer Vision-resource die u in de sectie Vereisten hebt gemaakt, succesvol is geïmplementeerd, klikt u op de knop Ga naar resource onder Volgende stappen. U vindt uw abonnementssleutel en eindpunt op de pagina sleutel en eindpunt van de resource, onder resourcebeheer.
Definieer de klasse ComputerVisionQuickstart. Maak variabelen voor uw Computer Vision-abonnementssleutel en eindpunt. Plak waar aangegeven uw abonnementssleutel en -eindpunt in de volgende code. Uw Computer Vision eindpunt heeft de vorm https://<your_computer_vision_resource_name>.cognitiveservices.azure.com/ .
import com.microsoft.azure.cognitiveservices.vision.computervision.*;
import com.microsoft.azure.cognitiveservices.vision.computervision.implementation.ComputerVisionImpl;
import com.microsoft.azure.cognitiveservices.vision.computervision.models.*;
import java.io.*;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class ComputerVisionQuickstart {
static String subscriptionKey = "PASTE_YOUR_COMPUTER_VISION_SUBSCRIPTION_KEY_HERE";
static String endpoint = "PASTE_YOUR_COMPUTER_VISION_ENDPOINT_HERE";
Belangrijk
Vergeet niet om de abonnementssleutel uit uw code te verwijderen wanneer u klaar bent en deze nooit openbaar te plaatsen. Overweeg om voor productie een veilige manier te gebruiken voor het opslaan en openen van uw referenties. Bijvoorbeeld Azure Key Vault.
Voeg in de hoofdmethode van de toepassing aanroepen toe voor de methoden die in deze quickstart worden gebruikt. U definieert deze later.
public static void main(String[] args) {
System.out.println("\nAzure Cognitive Services Computer Vision - Java Quickstart Sample");
// Create an authenticated Computer Vision client.
ComputerVisionClient compVisClient = Authenticate(subscriptionKey, endpoint);
// Read from local file
ReadFromFile(compVisClient);
}
Objectmodel
De volgende klassen en interfaces verwerken enkele van de belangrijkste functies van de OCR Java SDK.
| Naam | Beschrijving |
|---|---|
| ComputerVisionClient | Deze klasse is nodig voor alle Computer Vision-functionaliteit. U instantieert deze klasse met uw abonnementsgegevens en gebruikt deze om instanties van andere klassen te maken. |
Codevoorbeelden
Deze codefragmenten laten zien hoe u de volgende taken kunt uitvoeren met de OCR-clientbibliotheek voor Java:
De client verifiëren
Instantieer in een nieuwe methode een ComputerVisionClient-object met uw eindpunt en sleutel.
public static ComputerVisionClient Authenticate(String subscriptionKey, String endpoint){
return ComputerVisionManager.authenticate(subscriptionKey).withEndpoint(endpoint);
}
Afgedrukte en handgeschreven tekst lezen
De OCR-service kan zichtbare tekst in een afbeelding lezen en converteren naar een tekenstroom. In deze sectie wordt een methode gedefinieerd, ReadFromFile, die een lokaal bestandspad gebruikt en de tekst van de afbeelding naar de console verzendt.
Tip
U kunt ook tekst lezen in een externe afbeelding waarnaar door een URL wordt verwezen. Zie de ComputerVision-methoden, bijvoorbeeld read. Of bekijk de voorbeeldcode op GitHub voor scenario's met betrekking tot externe afbeeldingen.
Testafbeelding instellen
Maak een map resources/ in de map src/main/ van uw project en voeg een afbeelding toe waarvan u de tekst wilt lezen. U kunt een voorbeeldafbeelding downloaden en deze hier gebruiken.
Voeg vervolgens de volgende methodedefinitie toe aan uw ComputerVisionQuickstart-klasse. Wijzig de waarde van localFilePath, zodat deze overeenkomt met het afbeeldingsbestand.
/**
* OCR with READ : Performs a Read Operation on a local image
* @param client instantiated vision client
* @param localFilePath local file path from which to perform the read operation against
*/
private static void ReadFromFile(ComputerVisionClient client) {
System.out.println("-----------------------------------------------");
String localFilePath = "src\\main\\resources\\myImage.png";
System.out.println("Read with local file: " + localFilePath);
De Read-API aanroepen
Voeg vervolgens de volgende code toe om de methode readInStreamWithServiceResponseAsync voor de gegeven afbeelding aan te roepen.
try {
File rawImage = new File(localFilePath);
byte[] localImageBytes = Files.readAllBytes(rawImage.toPath());
// Cast Computer Vision to its implementation to expose the required methods
ComputerVisionImpl vision = (ComputerVisionImpl) client.computerVision();
// Read in remote image and response header
ReadInStreamHeaders responseHeader =
vision.readInStreamWithServiceResponseAsync(localImageBytes, null, null)
.toBlocking()
.single()
.headers();
Met het volgende codeblok wordt de bewerkings-ID opgehaald uit het antwoord van de aanroep Lezen. Deze ID wordt in combinatie met een helper-methode gebruikt om de leesresultaten naar de console te verzenden.
// Extract the operationLocation from the response header
String operationLocation = responseHeader.operationLocation();
System.out.println("Operation Location:" + operationLocation);
getAndPrintReadResult(vision, operationLocation);
Sluit het try/catch-blok en de methodedefinitie.
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
Leesresultaten ophalen
Voeg vervolgens een definitie voor de help-methode toe. Deze methode gebruikt de bewerkings-ID uit de vorige stap om een query uit te voeren op de Leesbewerking en om OCR-resultaten op te halen wanneer deze beschikbaar zijn.
/**
* Polls for Read result and prints results to console
* @param vision Computer Vision instance
* @return operationLocation returned in the POST Read response header
*/
private static void getAndPrintReadResult(ComputerVision vision, String operationLocation) throws InterruptedException {
System.out.println("Polling for Read results ...");
// Extract OperationId from Operation Location
String operationId = extractOperationIdFromOpLocation(operationLocation);
boolean pollForResult = true;
ReadOperationResult readResults = null;
while (pollForResult) {
// Poll for result every second
Thread.sleep(1000);
readResults = vision.getReadResult(UUID.fromString(operationId));
// The results will no longer be null when the service has finished processing the request.
if (readResults != null) {
// Get request status
OperationStatusCodes status = readResults.status();
if (status == OperationStatusCodes.FAILED || status == OperationStatusCodes.SUCCEEDED) {
pollForResult = false;
}
}
}
De rest van de methode parseert de OCR-resultaten en verzendt deze naar de console.
// Print read results, page per page
for (ReadResult pageResult : readResults.analyzeResult().readResults()) {
System.out.println("");
System.out.println("Printing Read results for page " + pageResult.page());
StringBuilder builder = new StringBuilder();
for (Line line : pageResult.lines()) {
builder.append(line.text());
builder.append("\n");
}
System.out.println(builder.toString());
}
}
Voeg tenslotte de andere gebruikte help-methode toe, waarmee de bewerkings-ID uit het eerste antwoord wordt geëxtraheerd.
/**
* Extracts the OperationId from a Operation-Location returned by the POST Read operation
* @param operationLocation
* @return operationId
*/
private static String extractOperationIdFromOpLocation(String operationLocation) {
if (operationLocation != null && !operationLocation.isEmpty()) {
String[] splits = operationLocation.split("/");
if (splits != null && splits.length > 0) {
return splits[splits.length - 1];
}
}
throw new IllegalStateException("Something went wrong: Couldn't extract the operation id from the operation location");
}
De toepassing uitvoeren
U kunt de app maken met:
gradle build
De toepassing uitvoeren met de opdracht gradle run:
gradle run
Resources opschonen
Als u een Cognitive Services-abonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.
Volgende stappen
In deze quickstart hebt u geleerd hoe u de OCR-clientbibliotheek installeert en de Read-API gebruikt. Hierna krijgt u meer informatie over de functies van de Read API.
- Overzicht van OCR
- De broncode voor dit voorbeeld is te vinden op GitHub.
Gebruik de clientbibliotheek voor optische tekenherkenning om gedrukte en handgeschreven tekst te lezen met de Read-API.
Referentiedocumentatie | Bibliotheekbroncode | Pakket (npm) | Voorbeelden
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- De huidige versie van Node.js
- Zodra u een Azure-abonnement hebt, maakt u een Computer Vision-resource in Azure Portal om uw sleutel en eindpunt op te halen. Nadat de app is geïmplementeerd, klikt u op Ga naar resource.
- U hebt de sleutel en het eindpunt nodig van de resource die u maakt, om de toepassing te verbinden met de Computer Vision-service. Later in de quickstart plakt u uw sleutel en eindpunt in de onderstaande code.
- U kunt de gratis prijscategorie (
F0) gebruiken om de service uit te proberen, en later upgraden naar een betaalde laag voor productie.
Instellen
Een nieuwe Node.js-toepassing maken
Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor de app, en navigeer naar deze map.
mkdir myapp && cd myapp
Voer de opdracht npm init uit om een knooppunttoepassing te maken met een package.json-bestand.
npm init
De clientbibliotheek installeren
Installeer de NPM-pakketten ms-rest-azure en @azure/cognitiveservices-computervision:
npm install @azure/cognitiveservices-computervision
Installeer ook de async-module:
npm install async
Het package.json-bestand van uw app wordt bijgewerkt met de afhankelijkheden.
Tip
Wilt u het codebestand voor de quickstart in één keer weergeven? Die is te vinden op GitHub, waar de codevoorbeelden uit deze quickstart zich bevinden.
Maak een nieuw bestand, index.js en open dit in een tekstbewerkingsprogramma.
De abonnementssleutel en het eindpunt zoeken
Ga naar Azure Portal. Als de Computer Vision-resource die u in de sectie Vereisten hebt gemaakt, succesvol is geïmplementeerd, klikt u op de knop Ga naar resource onder Volgende stappen. U vindt uw abonnementssleutel en eindpunt op de pagina sleutel en eindpunt van de resource, onder resourcebeheer.
Maak variabelen voor uw Computer Vision-abonnementssleutel en eindpunt. Plak waar aangegeven uw abonnementssleutel en -eindpunt in de volgende code. Uw Computer Vision eindpunt heeft de vorm https://<your_computer_vision_resource_name>.cognitiveservices.azure.com/ .
'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 = 'PASTE_YOUR_COMPUTER_VISION_SUBSCRIPTION_KEY_HERE';
const endpoint = 'PASTE_YOUR_COMPUTER_VISION_ENDPOINT_HERE';
Belangrijk
Vergeet niet om de abonnementssleutel uit uw code te verwijderen wanneer u klaar bent en deze nooit openbaar te plaatsen. Overweeg om voor productie een veilige manier te gebruiken voor het opslaan en openen van uw referenties. Bijvoorbeeld Azure Key Vault.
Ik heb de variabelen ingesteld waar ik een probleem mee heb
Objectmodel
De volgende klassen en interfaces verwerken enkele van de belangrijkste functies van de OCR Node.js SDK.
| Naam | Beschrijving |
|---|---|
| ComputerVisionClient | Deze klasse is nodig voor alle Computer Vision-functionaliteit. U instantieert deze klasse met uw abonnementsgegevens en gebruikt deze om de meeste afbeeldingsbewerkingen uit te voeren. |
Codevoorbeelden
Deze codefragmenten laten zien hoe u de volgende taken kunt uitvoeren met de OCR-clientbibliotheek voor Node.js:
De client verifiëren
Instantieer een client met uw eindpunt en sleutel. Maak een ApiKeyCredentials-object met uw sleutel en eindpunt en maak hiermee een ComputerVisionClient-object.
const computerVisionClient = new ComputerVisionClient(
new ApiKeyCredentials({ inHeader: { 'Ocp-Apim-Subscription-Key': key } }), endpoint);
Definieer vervolgens een functie computerVision en declareer een asynchrone serie met een primaire functie en een callback-functie. Aan het einde van het script voltooit u deze functiedefinitie en roept u deze aan.
function computerVision() {
async.series([
async function () {
Afgedrukte en handgeschreven tekst lezen
De OCR-service kan de zichtbare tekst in een afbeelding extraheren en converteren naar een tekenstroom. In dit voorbeeld worden de leesbewerkingen gebruikt.
Testafbeeldingen instellen
Sla een verwijzing op van de URL van de afbeeldingen waaruit u tekst wilt extraheren.
// 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://moderatorsampleimages.blob.core.windows.net/samples/sample2.jpg';
const multiLingualTextURL = 'https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/MultiLingual.png';
const mixedMultiPagePDFURL = 'https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/MultiPageHandwrittenForm.pdf';
Notitie
U kunt ook tekst lezen uit een lokale afbeelding. Zie de ComputerVisionClient-methoden, bijvoorbeeld readInStream. Of bekijk de voorbeeldcode op GitHub voor scenario's met betrekking tot lokale afbeeldingen.
De Read-API aanroepen
Definieer de volgende velden in uw functie om de statuswaarden van de read-aanroep aan te geven.
// Status strings returned from Read API. NOTE: CASING IS SIGNIFICANT.
// Before Read 3.0, these are "Succeeded" and "Failed"
const STATUS_SUCCEEDED = "succeeded";
const STATUS_FAILED = "failed"
Voeg de onderstaande code toe. Hiermee wordt de readTextFromURL-functie aangeroepen voor de opgegeven afbeeldingen.
// 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);
// Recognize multi-lingual text in a PNG from a URL
console.log('\nRead printed multi-lingual text in a PNG from URL...', multiLingualTextURL.split('/').pop());
const multiLingualResult = await readTextFromURL(computerVisionClient, multiLingualTextURL);
printRecText(multiLingualResult);
// Recognize printed text and handwritten text in a PDF from a URL
console.log('\nRead printed and handwritten text from a PDF from URL...', mixedMultiPagePDFURL.split('/').pop());
const mixedPdfResult = await readTextFromURL(computerVisionClient, mixedMultiPagePDFURL);
printRecText(mixedPdfResult);
Definieer de readTextFromURL-functie. Hiermee roept u de read-methode aan op het clientobject en wordt een bewerkings-id geretourneerd. Ook wordt een asynchroon proces gestart om de inhoud van de afbeelding te lezen. Vervolgens wordt de bewerkings-id gebruikt om de status van de bewerking te controleren totdat de resultaten worden geretourneerd. Vervolgens worden de geëxtraheerde resultaten geretourneerd.
// 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 !== 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.
}
Definieer nu de hulpfunctie printRecText, waarmee de resultaten van de leesbewerking worden afgedrukt via de console.
// 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.'); }
}
}
Sluit de functie
Sluit de functie computerVision en roep deze aan.
},
function () {
return new Promise((resolve) => {
resolve();
})
}
], (err) => {
throw (err);
});
}
computerVision();
De toepassing uitvoeren
Voer de toepassing uit met de opdracht node in uw quickstart-bestand.
node index.js
Resources opschonen
Als u een Cognitive Services-abonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.
Volgende stappen
In deze quickstart hebt u geleerd hoe u de OCR-clientbibliotheek installeert en de Read-API gebruikt. Hierna krijgt u meer informatie over de functies van de Read API.
- Overzicht van OCR
- De broncode voor dit voorbeeld is te vinden op GitHub.
Gebruik de OCR-clientbibliotheek om gedrukte en handgeschreven tekst uit afbeeldingen te lezen.
Referentiedocumentatie | Bibliotheekbroncode | Pakket
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- Nieuwste versie van Go
- Zodra u een Azure-abonnement hebt, maakt u een Computer Vision-resource in Azure Portal om uw sleutel en eindpunt op te halen. Nadat de app is geïmplementeerd, klikt u op Ga naar resource.
- U hebt de sleutel en het eindpunt nodig van de resource die u maakt, om de toepassing te verbinden met de Computer Vision-service. Later in de quickstart plakt u uw sleutel en eindpunt in de onderstaande code.
- U kunt de gratis prijscategorie (
F0) gebruiken om de service uit te proberen, en later upgraden naar een betaalde laag voor productie.
Instellen
Een Go-projectmap maken
Maak in een consolevenster (cmd, PowerShell, Terminal, Bash) een nieuwe werkruimte voor uw Go-project, genaamd my-app en navigeer er naartoe.
mkdir -p my-app/{src, bin, pkg}
cd my-app
Uw werkruimte bevat drie mappen:
- src: deze map bevat broncode en pakketten. Alle met de opdracht
go getgeïnstalleerde pakketten komen terecht in deze map. - pkg: deze map bevat de gecompileerde Go-pakketobjecten. Deze bestanden hebben allemaal een
.a-extensie. - bin: deze map bevat de binaire uitvoerbare bestanden die worden gemaakt wanneer u
go installuitvoert.
Tip
Zie de documentatie over de taal Go voor meer informatie over de structuur van een Go-werkruimte. Deze handleiding bevat informatie om $GOPATH en $GOROOT in te stellen.
De clientbibliotheek installeren voor Go
Installeer vervolgens de clientbibliotheek voor Go:
go get -u https://github.com/Azure/azure-sdk-for-go/tree/master/services/cognitiveservices/v2.1/computervision
of, als u dep gebruikt, binnen de uitvoer van de opslagplaats:
dep ensure -add https://github.com/Azure/azure-sdk-for-go/tree/master/services/cognitiveservices/v2.1/computervision
Een Go-toepassing maken
Maak vervolgens een bestand in de map src met de naam sample-app.go:
cd src
touch sample-app.go
Tip
Wilt u het codebestand voor de quickstart in één keer weergeven? Die is te vinden op GitHub, waar de codevoorbeelden uit deze quickstart zich bevinden.
Open sample-app.go in uw favoriete IDE of teksteditor.
Declareer een context in de hoofdmap van uw script. U hebt dit object nodig voor het uitvoeren van de meeste Computer Vision functie-aanroepen.
De abonnementssleutel en het eindpunt zoeken
Ga naar Azure Portal. Als de Computer Vision-resource die u in de sectie Vereisten hebt gemaakt, succesvol is geïmplementeerd, klikt u op de knop Ga naar resource onder Volgende stappen. U vindt uw abonnementssleutel en eindpunt op de pagina sleutel en eindpunt van de resource, onder resourcebeheer.
Maak variabelen voor uw Computer Vision-abonnementssleutel en eindpunt. Plak waar aangegeven uw abonnementssleutel en -eindpunt in de volgende code. Uw Computer Vision eindpunt heeft de vorm https://<your_computer_vision_resource_name>.cognitiveservices.azure.com/ .
package main
import (
"context"
"encoding/json"
"fmt"
"github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v2.0/computervision"
"github.com/Azure/go-autorest/autorest"
"io"
"log"
"os"
"strings"
"time"
)
// Declare global so don't have to pass it to all of the tasks.
var computerVisionContext context.Context
func main() {
computerVisionKey := "PASTE_YOUR_COMPUTER_VISION_SUBSCRIPTION_KEY_HERE"
endpointURL := "PASTE_YOUR_COMPUTER_VISION_ENDPOINT_HERE"
Belangrijk
Vergeet niet om de abonnementssleutel uit uw code te verwijderen wanneer u klaar bent en deze nooit openbaar te plaatsen. Overweeg om voor productie een veilige manier te gebruiken voor het opslaan en openen van uw referenties. Bijvoorbeeld Azure Key Vault.
Vervolgens gaat u code toevoegen om verschillende OCR-bewerkingen uit te voeren.
Ik heb de variabelen ingesteld die ik heb tegen een probleem aangelopen
Objectmodel
De volgende klassen en interfaces verwerken enkele van de belangrijkste functies van de OCR Go SDK.
| Naam | Beschrijving |
|---|---|
| BaseClient | Deze klasse is nodig voor alle functionaliteit van Computer Vision, zoals het analyseren van afbeeldingen en het lezen van tekst. U instantieert deze klasse met uw abonnementsgegevens en gebruikt deze om de meeste afbeeldingsbewerkingen uit te voeren. |
| ReadOperationResult | Dit type bevat de resultaten van een batch-leesbewerking. |
Codevoorbeelden
Deze codefragmenten laten zien hoe u de volgende taken kunt uitvoeren met de OCR-clientbibliotheek voor Go:
De client verifiëren
Notitie
Bij deze stap wordt ervan uitgegaan dat u omgevingsvariabelen hebt gemaakt voor uw Computer Vision-sleutel en -eindpunt, met de naam COMPUTER_VISION_SUBSCRIPTION_KEY respectievelijk COMPUTER_VISION_ENDPOINT.
Maak een main-functie en voeg de volgende code toe om een client te instantiëren met uw eindpunt en sleutel.
/*
* Configure the Computer Vision client
*/
computerVisionClient := computervision.New(endpointURL);
computerVisionClient.Authorizer = autorest.NewCognitiveServicesAuthorizer(computerVisionKey)
computerVisionContext = context.Background()
/*
* END - Configure the Computer Vision client
*/
Afgedrukte en handgeschreven tekst lezen
De OCR-service kan zichtbare tekst in een afbeelding lezen en converteren naar een tekenstroom. De code in deze sectie definieert een functie, RecognizeTextReadAPIRemoteImage, die gebruikmaakt van het clientobject om gedrukte of handgeschreven tekst in de afbeelding te detecteren en extraheren.
Voeg de voorbeeldafbeelding en functieaanroep toe aan uw main-functie.
// Analyze text in an image, remote
BatchReadFileRemoteImage(computerVisionClient, printedImageURL)
Tip
U kunt ook tekst extraheren uit een lokale afbeelding. Zie de BaseClient-methoden, zoals BatchReadFileInStream. Of zie de voorbeeldcode op GitHub voor scenario's met betrekking tot lokale afbeeldingen.
De Read-API aanroepen
Definieer de nieuwe functie voor het lezen van tekst, RecognizeTextReadAPIRemoteImage. Voeg de onderstaande code toe, die de methode BatchReadFile aanroept voor de gegeven afbeelding. Met deze methode wordt een bewerkings-id geretourneerd en wordt een asynchroon proces gestart om de inhoud van de afbeelding te lezen.
func BatchReadFileRemoteImage(client computervision.BaseClient, remoteImageURL string) {
fmt.Println("-----------------------------------------")
fmt.Println("BATCH READ FILE - remote")
fmt.Println()
var remoteImage computervision.ImageURL
remoteImage.URL = &remoteImageURL
// The response contains a field called "Operation-Location",
// which is a URL with an ID that you'll use for GetReadOperationResult to access OCR results.
textHeaders, err := client.BatchReadFile(computerVisionContext, remoteImage)
if err != nil { log.Fatal(err) }
// Use ExtractHeader from the autorest library to get the Operation-Location URL
operationLocation := autorest.ExtractHeaderValue("Operation-Location", textHeaders.Response)
numberOfCharsInOperationId := 36
operationId := string(operationLocation[len(operationLocation)-numberOfCharsInOperationId : len(operationLocation)])
Leesresultaten ophalen
Vervolgens haalt u de bewerkings-id op die wordt geretourneerd door de BatchReadFile-aanroep en gebruikt u deze met de methode GetReadOperationResult om de service te doorzoeken op de resultaten van de bewerking. Met de volgende code wordt de bewerking gecontroleerd met een interval van één seconde totdat de resultaten worden geretourneerd. Vervolgens worden de geëxtraheerde tekstgegevens afgedrukt naar de console.
readOperationResult, err := client.GetReadOperationResult(computerVisionContext, operationId)
if err != nil { log.Fatal(err) }
// Wait for the operation to complete.
i := 0
maxRetries := 10
fmt.Println("Recognizing text in a remote image with the batch Read API ...")
for readOperationResult.Status != computervision.Failed &&
readOperationResult.Status != computervision.Succeeded {
if i >= maxRetries {
break
}
i++
fmt.Printf("Server status: %v, waiting %v seconds...\n", readOperationResult.Status, i)
time.Sleep(1 * time.Second)
readOperationResult, err = client.GetReadOperationResult(computerVisionContext, operationId)
if err != nil { log.Fatal(err) }
}
Leesresultaten weergeven
Voeg de volgende code toe om de opgehaalde tekstgegevens te parseren en weer te geven, en voltooi de functiedefinitie.
// Display the results.
fmt.Println()
for _, recResult := range *(readOperationResult.RecognitionResults) {
for _, line := range *recResult.Lines {
fmt.Println(*line.Text)
}
}
De toepassing uitvoeren
Voer de toepassing op vanuit uw toepassingsmap met de opdracht go run.
go run sample-app.go
Resources opschonen
Als u een Cognitive Services-abonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.
Volgende stappen
In deze quickstart hebt u geleerd hoe u de OCR-clientbibliotheek installeert en de Read-API gebruikt. Hierna krijgt u meer informatie over de functies van de Read API.
- Overzicht van OCR
- De broncode voor dit voorbeeld is te vinden op GitHub.
Gebruik de optische tekenherkenning REST API gedrukte en handgeschreven tekst te lezen.
Notitie
In deze quickstart wordt gebruik gemaakt van cURL-opdrachten om de REST API aan te roepen. U kunt de REST API ook aanroepen met behulp van een programmeertaal. Bekijk de GitHub-voorbeeldbestanden voor voorbeelden in C#, Python, Java, JavaScript en Go.
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- Zodra u een Azure-abonnement hebt, maakt u een Computer Vision-resource in de Azure-portal om uw sleutel en eindpunt op te halen. Nadat de app is geïmplementeerd, klikt u op Ga naar resource.
- U hebt de sleutel en het eindpunt nodig van de resource die u maakt, om de toepassing te verbinden met de Computer Vision-service. Later in de quickstart plakt u uw sleutel en eindpunt in de onderstaande code.
- U kunt de gratis prijscategorie (
F0) gebruiken om de service uit te proberen, en later upgraden naar een betaalde laag voor productie.
- cURL geïnstalleerd
Gedrukte en handgeschreven tekst extraheren
De OCR-service kan zichtbare tekst in een afbeelding of document extraheren en converteren naar een tekenstroom. Zie het overzicht van optische tekenherkenning (OCR)voor meer informatie over tekstextractie.
De Read-API aanroepen
U kunt het voorbeeld maken en uitvoeren aan de hand van de volgende stappen:
- Kopieer de volgende opdracht naar een teksteditor.
- Breng waar nodig de volgende wijzigingen in de opdracht aan:
- Vervang de waarde van
<subscriptionKey>door uw abonnementssleutel. - Vervang het eerste deel van de aanvraag-URL (
westcentralus) door de tekst in uw eigen eindpunt-URL.Notitie
Nieuwe resources die zijn gemaakt na 1 juli 2019, hebben aangepaste subdomeinnamen. Zie Aangepaste subdomeinnamen voor Cognitive Services voor meer informatie en een volledige lijst met regionale eindpunten.
- Wijzig eventueel de afbeeldings-URL in de aanvraagtekst (
https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Atomist_quote_from_Democritus.png/338px-Atomist_quote_from_Democritus.png\) naar de URL van een andere afbeelding die u wilt analyseren.
- Vervang de waarde van
- Open een opdrachtpromptvenster.
- Plak de opdracht van de teksteditor in het opdrachtpromptvenster en voer de opdracht uit.
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://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Atomist_quote_from_Democritus.png/338px-Atomist_quote_from_Democritus.png\"}"
Het antwoord bevat een Operation-Location-header, waarvan de waarde een unieke URL is. U gebruikt deze URL om de resultaten van de leesbewerking op te vragen. Een URL verloopt binnen 48 uur.
Preview-functies gebruiken
Zie How to specify the model version to use the latest preview (De modelversie opgeven om de nieuwste preview te gebruiken) voor de preview-versies en -functies. Het preview-model bevat eventuele verbeteringen in de momenteel ga-talen en -functies.
Leesresultaten ophalen
- Kopieer de volgende opdracht naar een teksteditor.
- Vervang de URL door de waarde voor
Operation-Locationdie u in de vorige stap hebt gekopieerd. - Breng waar nodig de volgende wijzigingen in de opdracht aan:
- Vervang de waarde van
<subscriptionKey>door uw abonnementssleutel.
- Vervang de waarde van
- Open een opdrachtpromptvenster.
- Plak de opdracht van de teksteditor in het opdrachtpromptvenster en voer de opdracht uit.
curl -v -X GET "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyzeResults/{operationId}" -H "Ocp-Apim-Subscription-Key: {subscription key}" --data-ascii "{body}"
Het antwoord bekijken
Een geslaagd antwoord wordt geretourneerd in JSON-indeling. De voorbeeldtoepassing parseert en geeft een geslaagd antwoord weer in het opdrachtpromptvenster dat vergelijkbaar is met het volgende voorbeeld:
{
"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
}
]
}
]
}
]
}
}
Volgende stappen
In deze quickstart hebt u geleerd hoe u de lees- en REST API. Hierna krijgt u meer informatie over de functies van de Read API.