Чтение текста с помощью анализа изображений визуального распознавания Azure
Чтобы использовать Azure AI Vision для анализа изображений, включая оптическое распознавание символов, необходимо подготовить ресурс Azure AI Vision в подписке Azure. Ресурс может быть следующим:
- Ресурс нескольких служб ИИ Azure (развернутый в рамках центра и проекта Azure AI Foundry или как автономный ресурс).
- Ресурс компьютерного зрения .
Чтобы использовать развернутый ресурс в приложении, необходимо подключиться к конечной точке с помощью проверки подлинности на основе ключей или проверки подлинности Идентификатора Microsoft Entra. Конечную точку для ресурса можно найти на портале Azure или при работе с проектом Azure AI Foundry на портале Azure AI Foundry. Конечная точка находится в виде URL-адреса и обычно выглядит примерно так:
https://<resource_name>.cognitiveservices.azure.com/
После установки подключения можно использовать функцию OCR, вызвав функцию ImageAnalysis (через REST API или эквивалентный метод SDK), передав URL-адрес изображения или двоичные данные, а также при необходимости указав язык, в который записывается текст (с значением по умолчанию для английского языка).
https://<endpoint>/computervision/imageanalysis:analyze?features=read&...
Чтобы использовать пакет AZURE AI Vision Python SDK для извлечения текста из образа, установите пакет azure-ai-vision-imageanalysis . Затем в коде используйте проверку подлинности на основе ключей или проверку подлинности Идентификатора Microsoft Entra для подключения объекта ImageAnalysisClient к ресурсу Azure AI Vision. Чтобы найти и прочитать текст на изображении, вызовите метод analyze (или analyze_from_url), указав перечисление 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",
)
Чтобы использовать пакет SDK для Azure AI Vision .NET для извлечения текста из образа, установите пакет Azure.AI.Vision.ImageAnalysis . Затем в коде используйте проверку подлинности на основе ключей или проверку подлинности Идентификатора Microsoft Entra для подключения объекта ImageAnalysisClient к ресурсу Azure AI Vision. Чтобы найти и прочитать текст в изображении, вызовите метод Анализа , указав перечисление 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" });
Результаты функции OCR чтения возвращаются синхронно либо в формате JSON, либо в языковом объекте аналогичной структуры. Эти результаты разбиты в блоках (с текущей службой только с одним блоком), а затем строки, а затем слова. Кроме того, текстовые значения включаются как на строке, так и уровнях слова, что упрощает чтение целых строк текста, если вам не нужно извлекать текст на уровне отдельного слова.
{
"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
}
]
},
]
}
]
}
}