Dela via


Azure AI Vision-klientbibliotek för bildanalys för JavaScript – version 1.0.0-beta.2

Tjänsten Image Analysis tillhandahåller AI-algoritmer för bearbetning av bilder och returnering av 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 Översikt över bildanalys och 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 | Prover | Vision Studio | API-referensdokumentation | Paket (npm) | SDK-källkod

Komma igång

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

Mer information finns i vår supportpolicy .

Förutsättningar

  • En Azure-prenumeration.
  • En Visuellt innehåll resurs 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 Caption funktionerna eller Dense Captions måste Azure-resursen komma från någon av följande GPU-regioner som stöds: 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 bildanalys 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: (Exempelexempel | ) Generera en läsbar mening som beskriver innehållet i en bild.
  2. VisualFeatures.Read: (Exempelexempel | ) Kallas även optisk teckenläsning (OCR). Extrahera tryckt eller handskriven text från bilder.
  3. VisualFeatures.DenseCaptions: Kompakta bildtexter ger mer information genom att generera bildtexter med en mening för upp till 10 olika regioner i bilden, inklusive en för hela bilden.
  4. VisualFeatures.Tags: Extrahera innehållstaggar för tusentals identifierbara 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 i bilden för miniatyrgenerering, med prioritet för att inkludera ansikten.
  7. VisualFeatures.People: Leta upp personer i bilden och returnera deras plats.

Mer information om dessa funktioner finns i Översikt över bildanalys och sidan Begrepp .

Bildformat som stöds

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

  • Bilden måste vara i formatet JPEG, PNG, GIF, BMP, WEBP, ICO, TIFF eller MPO
  • Bildens filstorlek måste vara mindre än 20 MEGABYTE (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 från vilken all interaktion med biblioteket sker.

Exempel

Autentisera klienten

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

const { ImageAnalysisClient, KeyCredential } = require("@azure-rest/ai-image-analysis");

const endpoint = "<your_endpoint>";
const key = "<your_key>";
const credential = new KeyCredential(key);

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änsningspolygon 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

Loggning

Aktivering av loggning kan hjälpa dig att hitta användbar information om fel. Om du vill se en logg över HTTP-begäranden och svar anger du AZURE_LOG_LEVEL miljövariabeln till info. Loggning kan också aktiveras 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 dokumentationen om @azure-/loggningspaket.

Nästa steg

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

Bidra

Om du vill bidra till det här biblioteket kan du läsa bidragsguiden om du vill veta mer om hur du skapar och testar koden.