Leia texto com Azure Vision Image Analysis

Concluído

Para usar o Azure Vision para análise de imagens, incluindo reconhecimento ótico de caracteres, deve fornecer um recurso Azure Vision numa subscrição Azure. O recurso pode ser:

  • Um recurso Foundry Tools (quer implementado como parte de um hub e projeto Microsoft Foundry, quer como um recurso independente).
  • Um recurso Azure Vision .

Para usar o seu recurso implantado em um aplicativo, você deve se conectar ao endpoint usando autenticação baseada em chave ou autenticação com Microsoft Entra ID. Pode encontrar o endpoint do seu recurso no portal Azure, ou, se estiver a trabalhar num projeto Microsoft Foundry, no portal Microsoft Foundry. O ponto de extremidade está na forma de uma URL e normalmente tem o seguinte formato:

https://<resource_name>.cognitiveservices.azure.com/

Depois de estabelecer uma conexão, você pode usar o recurso OCR chamando a função ImageAnalysis (por meio da API REST ou com um método SDK equivalente), passando a URL da imagem ou dados binários e, opcionalmente, especificando o idioma em que o texto está escrito (com um valor padrão de en para inglês).

https://<endpoint>/computervision/imageanalysis:analyze?features=read&...

Para usar o Azure Vision Python SDK para extrair texto de uma imagem, instale o pacote azure-ai-vision-imageanalysis . Depois, no seu código, use autenticação baseada em chaves ou autenticação Microsoft Entra ID para ligar um objeto ImageAnalysisClient a um recurso Azure Vision. Para localizar e ler texto em uma imagem, chame o método analyze (ou analyze_from_url), especificando a enumeração 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",
)

Para usar o Azure Vision .NET SDK para extrair texto de uma imagem, instale o pacote Azure.AI.Vision.ImageAnalysis . Depois, no seu código, use autenticação baseada em chaves ou autenticação Microsoft Entra ID para ligar um objeto ImageAnalysisClient a um recurso Azure Vision. Para localizar e ler texto em uma imagem, chame o método Analyze , especificando a enumeração 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" });

Os resultados da função Read OCR são retornados de forma síncrona, como JSON ou como o objeto específico da linguagem de uma estrutura semelhante. Esses resultados são divididos em blocos (com o serviço atual usando apenas um bloco), depois linhase, em seguida, palavras. Além disso, os valores de texto são incluídos no de linha e níveis de de palavras, facilitando a leitura de linhas inteiras de texto se você não precisar extrair texto no nível de de palavras de individual.

{
    "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
                            }
                        ]
                    },
                ]
            }
        ]
    }
}