Chamar a API de leitura do Azure AI Vision v3.2 GA
Este guia mostra como chamar a API de leitura do GA v3.2 para extrair texto de imagens. Você aprenderá as diferentes maneiras de configurar o comportamento dessa API para atender às suas necessidades.
As etapas a seguir pressupõem que você já criou um recurso de Visão Computacional e obteve uma chave e uma URL de ponto final. Se ainda não o fez, consulte o guia de início rápido para começar.
Edições OCR (Leitura)
Importante
Selecione a edição Read que melhor se adapta às suas necessidades.
Entrada | Exemplos | Ler edição | Benefício |
---|---|---|---|
Imagens: Imagens gerais, in-the-wild | rótulos, sinais de rua e cartazes | OCR para imagens (versão 4.0) | Otimizado para imagens gerais não documentais com uma API síncrona de desempenho aprimorado que facilita a incorporação de OCR em cenários de experiência do usuário. |
Documentos: digitais e digitalizados, incluindo imagens | livros, artigos e relatórios | Modelo de leitura do Document Intelligence | Otimizado para documentos digitalizados, digitalizados e digitais com muito texto com uma API assíncrona para ajudar a automatizar o processamento inteligente de documentos em escala. |
Sobre o Azure AI Vision v3.2 GA Read
Procurando o mais recente Azure AI Vision v3.2 GA Read? Todos os futuros aprimoramentos do Read OCR fazem parte dos dois serviços listados anteriormente. Não existem mais atualizações para o Azure AI Vision v3.2. Para obter mais informações, consulte Chamar a API de leitura do Azure AI Vision 3.2 GA e Guia de início rápido: leitura do Azure AI Vision v3.2 GA.
Determinar como processar os dados (opcional)
Especificar o modelo OCR
Por padrão, o serviço usa o modelo mais recente disponível em geral (GA) para extrair texto. Começando com Read v3.2, um model-version
parâmetro permite escolher entre os modelos GA e preview para uma determinada versão da API. O modelo especificado é usado para extrair texto com a operação Ler.
Ao usar a operação Ler, use os seguintes valores para o parâmetro opcional model-version
.
Value | Modelo utilizado |
---|---|
Não fornecido | Modelo GA mais recente |
Mais Recente | Modelo GA mais recente |
2022-04-30 | Modelo GA mais recente. 164 idiomas para texto impresso e 9 idiomas para texto manuscrito, juntamente com várias melhorias na qualidade e desempenho |
2022-01-30 | Adiciona suporte de texto de impressão para hindi, árabe e idiomas relacionados. Para texto manuscrito, adiciona suporte para japonês e coreano. |
2021-09-30 | Adiciona suporte de texto impresso para russo e outros idiomas cirílicos. Para texto manuscrito, adiciona suporte para chinês simplificado, francês, alemão, italiano, português e espanhol. |
2021-04-12 | Modelo GA 2021 |
Língua de entrada
Por padrão, o serviço extrai todo o texto de suas imagens ou documentos, incluindo idiomas mistos. A operação Read tem um parâmetro de solicitação opcional para o idioma. Forneça apenas um código de idioma se quiser forçar o documento a ser processado como esse idioma específico. Caso contrário, o serviço pode retornar texto incompleto e incorreto.
Saída de ordem de leitura natural (apenas em línguas latinas)
Por padrão, o serviço produz as linhas de texto na ordem da esquerda para a direita. Opcionalmente, com o readingOrder
parâmetro request, use natural
para uma saída de ordem de leitura mais amigável para o ser humano, conforme mostrado no exemplo a seguir. Este recurso só é suportado para idiomas latinos.
Selecionar páginas ou intervalos de páginas para extração de texto
Por padrão, o serviço extrai texto de todas as páginas dos documentos. Opcionalmente, use o pages
parâmetro request para especificar números de página ou intervalos de páginas para extrair texto somente dessas páginas. O exemplo a seguir mostra um documento com 10 páginas, com texto extraído para ambos os casos: Todas as páginas (1-10) e Páginas selecionadas (3-6).
Enviar dados ao serviço
Você envia uma imagem local ou remota para a API de leitura. Para local, você coloca os dados da imagem binária no corpo da solicitação HTTP. Para remoto, especifique o URL da imagem formatando o corpo da solicitação, como no exemplo a seguir.
{"url":"http://example.com/images/test.jpg"}
A chamada Read da API Read usa uma imagem ou documento PDF como entrada e extrai texto de forma assíncrona.
https://{endpoint}/vision/v3.2/read/analyze[?language][&pages][&readingOrder]
A chamada retorna com um campo de cabeçalho de resposta chamado Operation-Location
. O Operation-Location
valor é uma URL que contém o ID da operação a ser usado na próxima etapa.
Cabeçalho da resposta | Valor de exemplo |
---|---|
Local de Operação | https://cognitiveservice/vision/v3.2/read/analyzeResults/d3d3d3d3-eeee-ffff-aaaa-b4b4b4b4b4b4 |
Nota
Faturação
A página de preços do Azure AI Vision inclui a camada de preços para operações de leitura. Cada imagem ou página analisada é uma transação. Se você chamar a operação com um documento PDF ou TIFF contendo 100 páginas, a operação Ler contará como 100 transações e você será cobrado por 100 transações. Se você fez 50 chamadas para a operação e cada chamada enviou um documento com 100 páginas, você será cobrado por 50 X 100 = 5000 transações.
Obter resultados do serviço
A segunda etapa é chamar a operação Obter Resultado de Leitura . Esta operação toma como entrada o ID da operação que foi criado pela operação Ler.
https://{endpoint}/vision/v3.2/read/analyzeResults/{operationId}
Ele retorna uma resposta JSON que contém um campo de status com os seguintes valores possíveis.
Value | Significado |
---|---|
notStarted |
A operação não foi iniciada. |
running |
A operação está a ser processada. |
failed |
A operação falhou. |
succeeded |
A operação foi bem sucedida. |
Você chama essa operação iterativamente até que ela retorne com o valor bem-sucedido . Use um intervalo de 1 a 2 segundos para evitar exceder a taxa de solicitações por segundo (RPS).
Nota
O nível gratuito limita a taxa de solicitação a 20 chamadas por minuto. O nível pago permite 30 RPS que podem ser aumentados mediante solicitação. Observe seu identificador de recursos e região do Azure e abra um tíquete de suporte do Azure ou entre em contato com sua equipe de conta para solicitar uma taxa de RPS mais alta.
Quando o campo de status tem o succeeded
valor, a resposta JSON contém o conteúdo de texto extraído da imagem ou documento. A resposta JSON mantém os agrupamentos de linhas originais de palavras reconhecidas. Inclui as linhas de texto extraídas e suas coordenadas de caixa delimitadora. Cada linha de texto inclui todas as palavras extraídas com suas coordenadas e pontuações de confiança.
Nota
Os dados enviados para a operação de leitura são temporariamente criptografados e armazenados em repouso por um curto período de tempo e, em seguida, excluídos. Isso permite que seus aplicativos recuperem o texto extraído como parte da resposta do serviço.
Exemplo de saída JSON
Veja o seguinte exemplo de uma resposta JSON bem-sucedida:
{
"status": "succeeded",
"createdDateTime": "2021-02-04T06:32:08.2752706+00:00",
"lastUpdatedDateTime": "2021-02-04T06:32:08.7706172+00:00",
"analyzeResult": {
"version": "3.2",
"readResults": [
{
"page": 1,
"angle": 2.1243,
"width": 502,
"height": 252,
"unit": "pixel",
"lines": [
{
"boundingBox": [
58,
42,
314,
59,
311,
123,
56,
121
],
"text": "Tabs vs",
"appearance": {
"style": {
"name": "handwriting",
"confidence": 0.96
}
},
"words": [
{
"boundingBox": [
68,
44,
225,
59,
224,
122,
66,
123
],
"text": "Tabs",
"confidence": 0.933
},
{
"boundingBox": [
241,
61,
314,
72,
314,
123,
239,
122
],
"text": "vs",
"confidence": 0.977
}
]
}
]
}
]
}
}
Classificação manuscrita para linhas de texto (apenas em línguas latinas)
A resposta inclui uma classificação de se cada linha de texto está em estilo manuscrito ou não, juntamente com uma pontuação de confiança. Esta funcionalidade só está disponível para línguas latinas. O exemplo a seguir mostra a classificação manuscrita para o texto na imagem.