Dela via


Azure AI Vision Image Analysis-klientbibliotek för JavaScript – version 1.0.0-beta.3

Tjänsten Bildanalys tillhandahåller AI-algoritmer för att bearbeta bilder och returnera information om deras innehåll. I ett enda tjänstanrop kan du extrahera en eller flera visuella funktioner från bilden samtidigt, inklusive att hämta en bildtext för bilden, extrahera text som visas i bilden (OCR) och identifiera objekt. Mer information om tjänsten och de visuella funktioner som stöds finns i översikten över bildanalysoch sidan Begrepp.

Använd klientbiblioteket för bildanalys för att:

  • Autentisera mot tjänsten
  • Ange vilka funktioner du vill extrahera
  • Ladda upp en bild för analys eller skicka en bild-URL
  • Hämta analysresultatet

Produktdokumentation | Exempel | Vision Studio | API-referensdokumentation | Package (npm) | SDK-källkod

Komma igång

Miljöer som stöds för närvarande

Mer information finns i vår supportprincip.

Förutsättningar

  • En Azure-prenumeration.
  • En -resurs för visuellt innehåll i din Azure-prenumeration.
    • Du behöver nyckeln och slutpunkten från den här resursen för att autentisera mot tjänsten.
    • Du kan använda den kostnadsfria prisnivån (F0) för att prova tjänsten och uppgradera senare till en betald nivå för produktion.
    • Observera att För att kunna köra bildanalys med funktionerna Caption eller Dense Captions måste Azure-resursen komma från någon av följande GPU-stödda regioner: East US, France Central, Korea Central, North Europe, Southeast Asia, West Europeeller West US.

Installera @azure-rest/ai-vision-image-analysis-paketet

Installera klientbiblioteket för avbildningsanalys för JavaScript med npm:

npm install @azure-rest/ai-vision-image-analysis

Stöd för webbläsare

JavaScript-paket

Om du vill använda det här klientbiblioteket i webbläsaren måste du först använda en bundler. Mer information om hur du gör detta finns i vår paketeringsdokumentation.

Viktiga begrepp

När du har initierat en ImageAnalysisClientmåste du välja en eller flera visuella funktioner att analysera. Alternativen anges av uppräkningsklassen VisualFeatures. Följande funktioner stöds:

  1. VisualFeatures.Caption: (Exempel | Exempel) Generera en mening som kan läsas av människor som beskriver innehållet i en bild.
  2. VisualFeatures.Read: (Exempel | exempel) Kallas även optisk teckenigenkänning (OCR). Extrahera tryckt eller handskriven text från bilder.
  3. VisualFeatures.DenseCaptions: Kompakta bildtexter ger mer information genom att generera en meningstexter för upp till 10 olika regioner i bilden, inklusive en för hela bilden.
  4. VisualFeatures.Tags: Extrahera innehållstaggar för tusentals igenkännliga objekt, levande varelser, landskap och åtgärder som visas i bilder.
  5. VisualFeatures.Objects: Objektidentifiering. Detta liknar taggning, men fokuserar på att identifiera fysiska objekt i bilden och returnera deras plats.
  6. VisualFeatures.SmartCrops: Används för att hitta en representativ underregion av bilden för miniatyrgenerering, med prioritet som ges för att inkludera ansikten.
  7. VisualFeatures.People: Leta upp personer i bilden och returnera deras plats.

Mer information om dessa funktioner finns i översikten över bildanalysoch sidan Begrepp.

Bildformat som stöds

Bildanalys fungerar på bilder som uppfyller följande krav:

  • Bilden måste visas i JPEG-, PNG-, GIF-, BMP-, WEBP-, ICO-, TIFF- eller MPO-format
  • Filstorleken för avbildningen måste vara mindre än 20 MB (MB)
  • Bildens dimensioner måste vara större än 50 x 50 bildpunkter och mindre än 16 000 x 16 000 bildpunkter

ImageAnalysisClient

ImageAnalysisClient är det primära gränssnittet för utvecklare som interagerar med tjänsten Bildanalys. Den fungerar som den gateway som all interaktion med biblioteket kommer att ske från.

Exempel

Autentisera klienten

Här är ett exempel på hur du skapar en ImageAnalysisClient-instans med hjälp av en nyckelbaserad autentisering.

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);

Skapa ImageAnalysisClient med en Microsoft Entra-ID-autentiseringsuppgift

Nyckelautentisering för klientprenumeration används i de flesta av exemplen i den här komma igång-guiden, men du kan även autentisera med Microsoft Entra-ID (tidigare Azure Active Directory) med hjälp av [Azure Identity Library][azure_identity]. Om du vill använda [DefaultAzureCredential][azure_identity_dac]-providern som visas nedan, eller andra autentiseringsproviders som medföljer Azure SDK, installerar du Azure.Identity-paketet:

npm install @azure/identity
const endpoint = "<your_endpoint>";
const credential = new DefaultAzureCredential();

const client = new ImageAnalysisClient(endpoint, credential);

Analysera en bild från URL

I följande exempel visas hur du analyserar en bild med hjälp av klientbiblioteket för bildanalys för 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();

Analysera en bild från en lokal fil

I det här exemplet analyserar vi en bild från en lokal fil med hjälp av klientbiblioteket för bildanalys för 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();

Extrahera text från en bild-URL

Det här exemplet visar hur du extraherar tryckt eller handskriven text för bildfilen sample.jpg med hjälp av ImageAnalysisClient. Metodanropet returnerar ett ImageAnalysisResult-objekt. Egenskapen ReadResult för det returnerade objektet innehåller en lista med textrader och en avgränsande polygon som omger varje textrad. För varje rad returneras också en lista med ord i textraden och en avgränsningspolygon som omger varje ord.

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.');
  }

Felsökning

Skogsavverkning

Aktivering av loggning kan hjälpa dig att hitta användbar information om fel. Om du vill se en logg med HTTP-begäranden och svar anger du AZURE_LOG_LEVEL miljövariabeln till info. Du kan också aktivera loggning vid körning genom att anropa setLogLevel i @azure/logger:

const { setLogLevel } = require("@azure/logger");

setLogLevel("info");

Mer detaljerade anvisningar om hur du aktiverar loggar finns i @azure/logger-paketdokumenten.

Nästa steg

Ta en titt på exempel katalog för detaljerade exempel som visar hur du använder klientbiblioteken.

Bidragande

Om du vill bidra till det här biblioteket kan du läsa bidragsguide för att lära dig mer om hur du skapar och testar koden.