Chamar a API de leitura do Azure AI Vision 3.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. Este guia pressupõe que você já tenha criado um recurso Visão e obtido uma chave e uma URL de ponto final. Se ainda não o fez, siga um 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.
Requisitos de entrada
A chamada da API de leitura usa imagens e documentos como entrada. Têm os seguintes requisitos:
- Formatos de ficheiro suportados: JPEG, PNG, BMP, PDF e TIFF
- Para ficheiros PDF e TIFF, são processadas até 2000 páginas (apenas as duas primeiras páginas no escalão gratuito).
- O tamanho do ficheiro das imagens deve ser inferior a 500 MB (4 MB no escalão gratuito) e as dimensões de, pelo menos, 50 x 50 píxeis e, no máximo, 10 000 x 10 000 píxeis. Os ficheiros PDF não têm limite de tamanho.
- A altura mínima do texto a extrair é de 12 píxeis para uma imagem de 1024 x 768, Isso corresponde a cerca de 8 texto de ponto de fonte a 150 DPI.
Nota
Não é necessário cortar uma imagem para linhas de texto. Envie a imagem completa para a API de leitura e ela reconhecerá todos os textos.
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. A partir do Read 3.2, um model-version
parâmetro permite escolher entre os modelos GA e preview para uma determinada versão da API. O modelo especificado será 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-pré-visualização | O modelo de visualização 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-pré-visualização | O modelo de visualização adiciona suporte de texto de impressão 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 emite 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ágina(s) ou intervalo(s) 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 da seguinte forma: {"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 a ID da operação a ser usada na próxima etapa.
Cabeçalho da resposta | Valor de exemplo |
---|---|
Local de Operação | https://cognitiveservice/vision/v3.2/read/analyzeResults/49a36324-fc4b-4387-aa06-090cfbf0064f |
Nota
Faturação
A página de preços do Azure AI Vision inclui a camada de preços para 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 solicitações por segundo (RPS) que podem ser aumentadas 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 solicitação por segundo (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.
Próximos passos
- Comece a usar a API REST OCR (Leitura) ou os inícios rápidos da biblioteca de clientes.
- Leia 3.2 Referência da API REST.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários