Partager via


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

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 ou Dense 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 Europeou West 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 :

  1. VisualFeatures.Caption: (Exemples | Exemples) Générez une phrase lisible par l’homme qui décrit le contenu d’une image.
  2. VisualFeatures.Read: ( exemplesexemples | exemples) également appelé reconnaissance optique de caractères (OCR). Extrayez du texte imprimé ou manuscrit à partir d’images.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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 @azure/enregistreur d’événements.

É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.