Bibliothèque de client Analyse des images Azure AI Vision pour JavaScript - version 1.0.0-beta.3
Le service Analyse des images fournit des algorithmes IA pour le traitement des images et le retour d’informations sur leur contenu. Dans un seul appel de service, vous pouvez extraire simultanément une ou plusieurs fonctionnalités visuelles de l’image, notamment obtenir une légende pour l’image, extraire du texte affiché dans l’image (OCR) et détecter des objets. Pour plus d’informations sur le service et les fonctionnalités visuelles prises en charge, consultez vue d’ensemble de l’analyse d’imageset la page concepts .
Utilisez la bibliothèque cliente Analyse des images pour :
- S’authentifier auprès du service
- Définir les fonctionnalités que vous souhaitez extraire
- Charger une image à des fins d’analyse ou envoyer une URL d’image
- Obtenir le résultat d’analyse
Documentation produit Documentation produit | Samples | Vision Studio | documentation de référence sur l’API | Package (npm) | code source du KIT de développement logiciel (SDK)
Commencer
Environnements actuellement pris en charge
- versions LTS de Node.js
- Dernières versions de Safari, Chrome, Edge et Firefox.
Pour plus d’informations, consultez notre de stratégie de support
Conditions préalables
- Un abonnement Azure .
- Une ressource Vision par ordinateur dans votre abonnement Azure.
- Vous aurez besoin de la clé et du point de terminaison de cette ressource pour vous authentifier auprès du service.
- Vous pouvez utiliser le niveau tarifaire gratuit (
F0
) pour essayer le service et effectuer une mise à niveau ultérieure vers un niveau payant pour la production. - Notez que pour exécuter l’analyse d’images avec les fonctionnalités
Caption
ouDense Captions
, la ressource Azure doit provenir de l’une des régions prises en charge par GPU suivantes :East US
,France Central
,Korea Central
,North Europe
,Southeast Asia
,West Europe
ouWest US
.
Installer le package @azure-rest/ai-vision-image-analysis
Installez la bibliothèque cliente Analyse des images pour JavaScript avec npm
:
npm install @azure-rest/ai-vision-image-analysis
Prise en charge du navigateur
JavaScript Bundle
Pour utiliser cette bibliothèque cliente dans le navigateur, vous devez d’abord utiliser un bundler. Pour plus d’informations sur la procédure à suivre, reportez-vous à notre documentation de regroupement .
Concepts clés
Une fois que vous avez initialisé un ImageAnalysisClient
, vous devez sélectionner une ou plusieurs fonctionnalités visuelles à analyser. Les options sont spécifiées par la classe enum VisualFeatures
. Les fonctionnalités suivantes sont prises en charge :
-
VisualFeatures.Caption
: (Exemples | Exemples) Générez une phrase lisible par l’homme qui décrit le contenu d’une image. -
VisualFeatures.Read
: ( exemplesexemples | exemples) également appelé reconnaissance optique de caractères (OCR). Extrayez du texte imprimé ou manuscrit à partir d’images. -
VisualFeatures.DenseCaptions
: les légendes denses fournissent plus de détails en générant des légendes d’une phrase pour jusqu’à 10 régions différentes de l’image, y compris une pour l’image entière. -
VisualFeatures.Tags
: extrayez des balises de contenu pour des milliers d’objets reconnaissables, des êtres vivants, des paysages et des actions qui apparaissent dans des images. -
VisualFeatures.Objects
: détection d’objets. Cela est similaire à l’étiquetage, mais axé sur la détection d’objets physiques dans l’image et le retour de leur emplacement. -
VisualFeatures.SmartCrops
: utilisé pour rechercher une sous-région représentative de l’image pour la génération de miniatures, avec la priorité donnée pour inclure des visages. -
VisualFeatures.People
: recherchez les personnes dans l’image et retournez leur emplacement.
Pour plus d’informations sur ces fonctionnalités, consultez vue d’ensemble de l’analyse des imageset la page Concepts.
Formats d’image pris en charge
L’analyse des images fonctionne sur les images qui répondent aux exigences suivantes :
- L’image doit être présentée au format JPEG, PNG, GIF, BMP, WEBP, ICO, TIFF ou MPO
- La taille du fichier de l’image doit être inférieure à 20 mégaoctets (Mo)
- Les dimensions de l’image doivent être supérieures à 50 x 50 pixels et inférieures à 16 000 x 16 000 pixels
ImageAnalysisClient
Le ImageAnalysisClient
est l’interface principale pour les développeurs qui interagissent avec le service Analyse d’images. Il sert de passerelle à partir de laquelle toutes les interactions avec la bibliothèque se produisent.
Exemples
Authentifier le client
Voici un exemple de création d’une instance de ImageAnalysisClient
à l’aide d’une authentification basée sur des clés.
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);
Créer ImageAnalysisClient avec des informations d’identification d’ID Microsoft Entra
L’authentification par clé d’abonnement client est utilisée dans la plupart des exemples de ce guide de prise en main, mais vous pouvez également vous authentifier auprès de Microsoft Entra ID (anciennement Azure Active Directory) à l’aide de la [bibliothèque d’identités Azure][azure_identity]. Pour utiliser le fournisseur [DefaultAzureCredential][azure_identity_dac] indiqué ci-dessous ou d’autres fournisseurs d’informations d’identification fournis avec le Kit de développement logiciel (SDK) Azure, installez le package Azure.Identity :
npm install @azure/identity
const endpoint = "<your_endpoint>";
const credential = new DefaultAzureCredential();
const client = new ImageAnalysisClient(endpoint, credential);
Analyser une image à partir de l’URL
L’exemple suivant montre comment analyser une image à l’aide de la bibliothèque cliente Analyse d’image pour 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();
Analyser une image à partir d’un fichier local
Dans cet exemple, nous allons analyser une image à partir d’un fichier local à l’aide de la bibliothèque cliente Analyse d’image pour 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();
Extraire du texte d’une URL d’image
Cet exemple montre comment extraire du texte imprimé ou écrit manuellement pour le fichier image sample.jpg à l’aide d’ImageAnalysisClient. L’appel de méthode retourne un objet ImageAnalysisResult. La propriété ReadResult de l’objet retourné comprend une liste de lignes de texte et un polygone englobant entourant chaque ligne de texte. Pour chaque ligne, elle retourne également une liste de mots dans la ligne de texte et un polygone englobant entourant chaque mot.
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.');
}
Dépannage
Exploitation forestière
L’activation de la journalisation peut vous aider à découvrir des informations utiles sur les échecs. Pour afficher un journal des requêtes et réponses HTTP, définissez la variable d’environnement AZURE_LOG_LEVEL
sur info
. Vous pouvez également activer la journalisation au moment de l’exécution en appelant setLogLevel
dans la @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Pour obtenir des instructions plus détaillées sur l’activation des journaux, vous pouvez consulter la documentationdu package
Étapes suivantes
Consultez les exemples de répertoire pour obtenir des exemples détaillés qui montrent comment utiliser les bibliothèques clientes.
Contribuant
Si vous souhaitez contribuer à cette bibliothèque, lisez le guide de contribution pour en savoir plus sur la génération et le test du code.
Projets connexes
Azure SDK for JavaScript