Biblioteca cliente de Análisis de imágenes de Azure AI Vision para JavaScript: versión 1.0.0-beta.3
Image Analysis Service proporciona algoritmos de INTELIGENCIA ARTIFICIAL para procesar imágenes y devolver información sobre su contenido. En una sola llamada de servicio, puede extraer una o varias características visuales de la imagen simultáneamente, incluida la obtención de un título para la imagen, la extracción de texto que se muestra en la imagen (OCR) y la detección de objetos. Para obtener más información sobre el servicio y las características visuales admitidas, consulte información general de Image Analysisy la página Conceptos.
Use la biblioteca cliente image Analysis para:
- Autenticación en el servicio
- Establecimiento de las características que desea extraer
- Carga de una imagen para el análisis o envío de una dirección URL de imagen
- Obtención del resultado del análisis
Documentación del producto
Empezar
Entornos admitidos actualmente
- versiones ltS de Node.js
- Versiones más recientes de Safari, Chrome, Edge y Firefox.
Consulte nuestra de directiva de soporte técnico de
Prerrequisitos
- Una suscripción de Azure .
- Un recurso de Computer Vision en la suscripción de Azure.
- Necesitará la clave y el punto de conexión de este recurso para autenticarse en el servicio.
- Puede usar el plan de tarifa gratis (
F0
) para probar el servicio y actualizarlo más adelante a un nivel de pago para producción. - Tenga en cuenta que para ejecutar Image Analysis con las características de
Caption
oDense Captions
, el recurso de Azure debe ser de una de las siguientes regiones compatibles con GPU:East US
,France Central
,Korea Central
,North Europe
,Southeast Asia
,West Europe
oWest US
.
Instalación del paquete @azure-rest/ai-vision-image-analysis
Instale la biblioteca cliente de Image Analysis para JavaScript con npm
:
npm install @azure-rest/ai-vision-image-analysis
Compatibilidad con exploradores
Paquete de JavaScript
Para usar esta biblioteca cliente en el explorador, primero debe usar un agrupador. Para obtener más información sobre cómo hacerlo, consulte nuestra documentación de agrupación de .
Conceptos clave
Una vez que haya inicializado un ImageAnalysisClient
, debe seleccionar una o varias características visuales para analizar. Las opciones se especifican mediante la clase enum VisualFeatures
. Se admiten las siguientes características:
-
VisualFeatures.Caption
: (Ejemplos | Ejemplos) Genere una frase legible que describa el contenido de una imagen. -
VisualFeatures.Read
: (Ejemplos | Muestras) También conocido como reconocimiento óptico de caracteres (OCR). Extraiga texto impreso o manuscrito de imágenes. -
VisualFeatures.DenseCaptions
: los subtítulos densos proporcionan más detalles mediante la generación de subtítulos de una oración para hasta 10 regiones diferentes en la imagen, incluida una para toda la imagen. -
VisualFeatures.Tags
: extraiga etiquetas de contenido para miles de objetos reconocibles, seres vivos, paisajes y acciones que aparecen en imágenes. -
VisualFeatures.Objects
: detección de objetos. Esto es similar al etiquetado, pero se centra en detectar objetos físicos en la imagen y devolver su ubicación. -
VisualFeatures.SmartCrops
: se usa para buscar una subregión representativa de la imagen para la generación de miniaturas, con prioridad asignada para incluir caras. -
VisualFeatures.People
: busque personas en la imagen y devuelva su ubicación.
Para obtener más información sobre estas características, consulte
Formatos de imagen admitidos
Image Analysis funciona en imágenes que cumplen los siguientes requisitos:
- La imagen debe presentarse en formato JPEG, PNG, GIF, BMP, WEBP, ICO, TIFF o MPO.
- El tamaño del archivo de la imagen debe ser inferior a 20 megabytes (MB)
- Las dimensiones de la imagen deben ser mayores que 50 x 50 píxeles y menos de 16 000 x 16 000 píxeles
ImageAnalysisClient
El ImageAnalysisClient
es la interfaz principal para los desarrolladores que interactúan con el servicio Image Analysis. Actúa como puerta de enlace desde la que se producirá toda la interacción con la biblioteca.
Ejemplos
Autenticación del cliente
Este es un ejemplo de cómo crear una instancia de ImageAnalysisClient
mediante una autenticación basada en claves.
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);
Creación de ImageAnalysisClient con una credencial de id. de Microsoft Entra
La autenticación de clave de suscripción de cliente se usa en la mayoría de los ejemplos de esta guía de introducción, pero también puede autenticarse con el identificador de Entra de Microsoft (anteriormente Azure Active Directory) mediante la [biblioteca de identidades de Azure][azure_identity]. Para usar el proveedor [DefaultAzureCredential][azure_identity_dac] que se muestra a continuación u otros proveedores de credenciales proporcionados con el SDK de Azure, instale el paquete Azure.Identity:
npm install @azure/identity
const endpoint = "<your_endpoint>";
const credential = new DefaultAzureCredential();
const client = new ImageAnalysisClient(endpoint, credential);
Análisis de una imagen desde la dirección URL
En el ejemplo siguiente se muestra cómo analizar una imagen mediante la biblioteca cliente image Analysis 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();
Análisis de una imagen desde un archivo local
En este ejemplo, analizaremos una imagen de un archivo local mediante la biblioteca cliente 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();
Extracción de texto de una dirección URL de imagen
En este ejemplo se muestra cómo extraer texto impreso o escrito a mano para el archivo de imagen sample.jpg mediante ImageAnalysisClient. La llamada al método devuelve un objeto ImageAnalysisResult. La propiedad ReadResult del objeto devuelto incluye una lista de líneas de texto y un polígono delimitador que rodea cada línea de texto. Para cada línea, también devuelve una lista de palabras en la línea de texto y un polígono delimitador que rodea cada palabra.
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.');
}
Solución de problemas
Registro
Habilitar el registro puede ayudar a descubrir información útil sobre errores. Para ver un registro de solicitudes y respuestas HTTP, establezca la variable de entorno AZURE_LOG_LEVEL
en info
. Como alternativa, el registro se puede habilitar en tiempo de ejecución llamando a setLogLevel
en el @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Para obtener instrucciones más detalladas sobre cómo habilitar los registros, puede consultar los documentos del paquete de @azure/registrador.
Pasos siguientes
Eche un vistazo al directorio ejemplos de
Contribuyendo
Si desea contribuir a esta biblioteca, lea la guía de contribución de para obtener más información sobre cómo compilar y probar el código.
Proyectos relacionados
Azure SDK for JavaScript