Biblioteca de cliente do Azure AI Vision Image Analysis para JavaScript - versão 1.0.0-beta.3
O serviço de Análise de Imagem fornece algoritmos de IA para processar imagens e retornar informações sobre seu conteúdo. Em uma única chamada de serviço, você pode extrair um ou mais recursos visuais da imagem simultaneamente, incluindo obter uma legenda para a imagem, extrair o texto mostrado na imagem (OCR) e detetar objetos. Para obter mais informações sobre o serviço e os recursos visuais suportados, consulte
Use a biblioteca de cliente de Análise de Imagem para:
- Autenticar no serviço
- Defina quais recursos você gostaria de extrair
- Carregar uma imagem para análise ou enviar um URL de imagem
- Obter o resultado da análise
Documentação do produto | Exemplos | Vision Studio | documentação de referência da API | Pacote (npm) | código-fonte do SDK
Primeiros passos
Ambientes atualmente suportados
- versões LTS do Node.js
- Versões mais recentes do Safari, Chrome, Edge e Firefox.
Consulte o nosso de política de suporte
Pré-requisitos
- Uma assinatura do Azure.
- Um recurso Visão Computacional em sua assinatura do Azure.
- Você precisará da chave e do ponto de extremidade desse recurso para autenticar no serviço.
- Você pode usar o nível de preço gratuito (
F0
) para experimentar o serviço e atualizar posteriormente para um nível pago para produção. - Observe que, para executar a Análise de Imagem com os recursos
Caption
ouDense Captions
, o recurso do Azure precisa ser de uma das seguintes regiões com suporte de GPU:East US
,France Central
,Korea Central
,North Europe
,Southeast Asia
,West Europe
ouWest US
.
Instalar o pacote @azure-rest/ai-vision-image-analysis
Instale a biblioteca de cliente de Análise de Imagem para JavaScript com npm
:
npm install @azure-rest/ai-vision-image-analysis
Suporte do navegador
Pacote JavaScript
Para usar essa biblioteca de cliente no navegador, primeiro, você precisa usar um bundler. Para obter detalhes sobre como fazer isso, consulte nossa documentação de agregação de .
Conceitos-chave
Depois de inicializar um ImageAnalysisClient
, você precisa selecionar um ou mais recursos visuais para analisar. As opções são especificadas pela classe enum VisualFeatures
. Os seguintes recursos são suportados:
-
VisualFeatures.Caption
: (Exemplos | Exemplos) Gere uma frase legível por humanos que descreva o conteúdo de uma imagem. -
VisualFeatures.Read
: (Exemplos | amostras) Também conhecido como Reconhecimento Ótico de Caracteres (OCR). Extraia texto impresso ou manuscrito de imagens. -
VisualFeatures.DenseCaptions
: Legendas densas fornece mais detalhes gerando legendas de uma frase para até 10 regiões diferentes na imagem, incluindo uma para a imagem inteira. -
VisualFeatures.Tags
: Extraia tags de conteúdo para milhares de objetos reconhecíveis, seres vivos, cenários e ações que aparecem em imagens. -
VisualFeatures.Objects
: Deteção de objetos. Isso é semelhante à marcação, mas focado em detetar objetos físicos na imagem e retornar sua localização. -
VisualFeatures.SmartCrops
: Usado para encontrar uma sub-região representativa da imagem para geração de miniaturas, com prioridade para incluir rostos. -
VisualFeatures.People
: Localize as pessoas na imagem e devolva a sua localização.
Para obter mais informações sobre esses recursos, consulte
Formatos de imagem suportados
A Análise de Imagem funciona em imagens que atendem aos seguintes requisitos:
- A imagem deve ser apresentada nos formatos JPEG, PNG, GIF, BMP, WEBP, ICO, TIFF ou MPO
- O tamanho do arquivo da imagem deve ser inferior a 20 megabytes (MB)
- As dimensões da imagem devem ser maiores que 50 x 50 pixels e menos de 16.000 x 16.000 pixels
ImageAnalysisClient
O ImageAnalysisClient
é a interface principal para desenvolvedores que interagem com o serviço de Análise de Imagem. Ele serve como o gateway a partir do qual toda a interação com a biblioteca ocorrerá.
Exemplos
Autenticar o cliente
Veja um exemplo de como criar uma instância de ImageAnalysisClient
usando uma autenticação baseada em chave.
const key = "<your_key>";
const credential = new AzureKeyCredential(key);
const client = new ImageAnalysisClient(endpoint, credential);
const { ImageAnalysisClient } = require("@azure-rest/ai-vision-image-analysis");
const { AzureKeyCredential } = require('@azure/core-auth');
const endpoint = "<your_endpoint>";
const key = "<your_key>";
const credential = new AzureKeyCredential(key);
const client = new ImageAnalysisClient(endpoint, credential);
Criar ImageAnalysisClient com uma credencial de ID do Microsoft Entra
A autenticação de chave de assinatura de cliente é usada na maioria dos exemplos neste guia de introdução, mas você também pode autenticar com o Microsoft Entra ID (anteriormente Azure Ative Directory) usando a [Biblioteca de Identidade do Azure][azure_identity]. Para usar o provedor [DefaultAzureCredential][azure_identity_dac] mostrado abaixo ou outros provedores de credenciais fornecidos com o SDK do Azure, instale o pacote Azure.Identity:
npm install @azure/identity
const endpoint = "<your_endpoint>";
const credential = new DefaultAzureCredential();
const client = new ImageAnalysisClient(endpoint, credential);
Analisar uma imagem a partir do URL
O exemplo a seguir demonstra como analisar uma imagem usando a biblioteca de cliente de Análise de Imagem para JavaScript.
const imageUrl = "https://example.com/image.jpg";
const features = ["Caption", "DenseCaptions", "Objects", "People", "Read", "SmartCrops", "Tags"];
async function analyzeImageFromUrl() {
const result = await client.path("/imageanalysis:analyze").post({
body: {
url: imageUrl,
},
queryParameters: {
features: features,
"smartCrops-aspect-ratios": [0.9, 1.33],
},
contentType: "application/json",
});
console.log("Image analysis result:", result.body);
}
analyzeImageFromUrl();
Analisar uma imagem de um arquivo local
Neste exemplo, analisaremos uma imagem de um arquivo local usando a biblioteca de cliente do Image Analysis para JavaScript.
const fs = require("fs");
const imagePath = "./path/to/your/image.jpg";
const features = ["Caption", "DenseCaptions", "Objects", "People", "Read", "SmartCrops", "Tags"];
async function analyzeImageFromFile() {
const imageBuffer = fs.readFileSync(imagePath);
const result = await client.path("/imageanalysis:analyze").post({
body: imageBuffer,
queryParameters: {
features: features,
"smartCrops-aspect-ratios": [0.9, 1.33],
},
contentType: "application/octet-stream",
});
console.log("Image analysis result:", result.body);
}
analyzeImageFromFile();
Extrair texto de um URL de imagem
Este exemplo demonstra como extrair texto impresso ou manuscrito para o arquivo de imagem sample.jpg usando o ImageAnalysisClient. A chamada de método retorna um objeto ImageAnalysisResult. A propriedade ReadResult no objeto retornado inclui uma lista de linhas de texto e um polígono delimitador ao redor de cada linha de texto. Para cada linha, ele também retorna uma lista de palavras na linha de texto e um polígono delimitador ao redor de cada palavra.
const client: ImageAnalysisClient = createImageAnalysisClient(endpoint, credential);
const features: string[] = [
'Read'
];
const imageUrl: string = 'https://aka.ms/azsdk/image-analysis/sample.jpg';
client.path('/imageanalysis:analyze').post({
body: { url: imageUrl },
queryParameters: { features: features },
contentType: 'application/json'
}).then(result => {
const iaResult: ImageAnalysisResultOutput = result.body as ImageAnalysisResultOutput;
// Process the response
if (iaResult.readResult && iaResult.readResult.blocks.length > 0) {
iaResult.readResult.blocks.forEach(block => {
console.log(`Detected text block: ${JSON.stringify(block)}`);
});
} else {
console.log('No text blocks detected.');
}
Solução de problemas
Registo
Habilitar o registro em log pode ajudar a descobrir informações úteis sobre falhas. Para ver um log de solicitações e respostas HTTP, defina a variável de ambiente AZURE_LOG_LEVEL
como info
. Como alternativa, o registro em log pode ser habilitado em tempo de execução chamando setLogLevel
no @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Para obter instruções mais detalhadas sobre como habilitar logs, você pode consultar os documentos do pacote @azure/logger.
Próximos passos
Dê uma olhada no exemplos diretório para obter exemplos detalhados que demonstram como usar as bibliotecas cliente.
Contribuição
Se você quiser contribuir para esta biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.
Projetos relacionados
- SDK do Microsoft Azure para JavaScript
Azure SDK for JavaScript