Čtení textu pomocí analýzy obrázků ve službě Azure AI Vision
Pokud chcete použít Azure AI Vision pro analýzu obrázků, včetně optického rozpoznávání znaků, musíte zřídit prostředek Azure AI Vision v předplatném Azure. Prostředek může být:
- Prostředek azure AI Services s více službami (buď nasazený jako součást centra a projektu Azure AI Foundry, nebo jako samostatný prostředek).
- Prostředek počítačového zpracování obrazu .
Pokud chcete použít nasazený prostředek v aplikaci, musíte se připojit k jeho koncovému bodu pomocí ověřování založeného na klíči nebo ověřování Microsoft Entra ID. Koncový bod vašeho prostředku najdete na webu Azure Portal nebo pokud pracujete v projektu Azure AI Foundry, na portálu Azure AI Foundry. Koncový bod je ve formě adresy URL a obvykle vypadá nějak takto:
https://<resource_name>.cognitiveservices.azure.com/
Po navázání připojení můžete funkci OCR použít voláním funkce ImageAnalysis (prostřednictvím rozhraní REST API nebo s ekvivalentní metodou sady SDK), předáním adresy URL obrázku nebo binárních dat a volitelně zadáním jazyka, ve kterém je text napsaný (s výchozí hodnotou en pro angličtinu).
https://<endpoint>/computervision/imageanalysis:analyze?features=read&...
Pokud chcete sadu Azure AI Vision Python SDK použít k extrakci textu z obrázku, nainstalujte balíček azure-ai-vision-imageanalysis . Pak ve svém kódu použijte ověřování založené na klíči nebo ověřování Microsoft Entra ID pro připojení objektu ImageAnalysisClient k prostředku služby Azure AI Vision. Pokud chcete najít a přečíst text na obrázku, zavolejte metodu analyze (nebo analyze_from_url) a určete výčet VisualFeatures.READ .
from azure.ai.vision.imageanalysis import ImageAnalysisClient
from azure.ai.vision.imageanalysis.models import VisualFeatures
from azure.core.credentials import AzureKeyCredential
client = ImageAnalysisClient(
endpoint="<YOUR_RESOURCE_ENDPOINT>",
credential=AzureKeyCredential("<YOUR_AUTHORIZATION_KEY>")
)
result = client.analyze(
image_data=<IMAGE_DATA_BYTES>, # Binary data from your image file
visual_features=[VisualFeatures.READ],
language="en",
)
Pokud chcete použít sadu Azure AI Vision .NET SDK k extrakci textu z obrázku, nainstalujte balíček Azure.AI.Vision.ImageAnalysis . Pak ve svém kódu použijte ověřování založené na klíči nebo ověřování Microsoft Entra ID pro připojení objektu ImageAnalysisClient k prostředku služby Azure AI Vision. Pokud chcete najít a přečíst text na obrázku, zavolejte metodu Analyze a určete výčet VisualFeatures.Read .
using Azure.AI.Vision.ImageAnalysis;
ImageAnalysisClient client = new ImageAnalysisClient(
"<YOUR_RESOURCE_ENDPOINT>",
new AzureKeyCredential("<YOUR_AUTHORIZATION_KEY>"));
ImageAnalysisResult result = client.Analyze(
<IMAGE_DATA_BYTES>, // Binary data from your image file
VisualFeatures.Read,
new ImageAnalysisOptions { Language = t"en" });
Výsledky funkce Read OCR se vrací synchronně, a to buď jako JSON, nebo objekt specifický pro jazyk podobné struktury. Tyto výsledky jsou rozděleny do bloků (přičemž aktuální služba používá pouze jeden blok), dále na řádky a poté na slova. Textové hodnoty jsou navíc zahrnuty na úrovni řádků i slov , což usnadňuje čtení celých řádků textu, pokud nepotřebujete extrahovat text na úrovni jednotlivých slov .
{
"metadata":
{
"width": 500,
"height": 430
},
"readResult":
{
"blocks":
[
{
"lines":
[
{
"text": "Hello World!",
"boundingPolygon":
[
{"x":251,"y":265},
{"x":673,"y":260},
{"x":674,"y":308},
{"x":252,"y":318}
],
"words":
[
{
"text":"Hello",
"boundingPolygon":
[
{"x":252,"y":267},
{"x":307,"y":265},
{"x":307,"y":318},
{"x":253,"y":318}
],
"confidence":0.996
},
{
"text":"World!",
"boundingPolygon":
[
{"x":318,"y":264},
{"x":386,"y":263},
{"x":387,"y":316},
{"x":319,"y":318}
],
"confidence":0.99
}
]
},
]
}
]
}
}