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
- LTS-versioner av Node.js
- De senaste versionerna av Safari, Chrome, Edge och Firefox.
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
ellerDense 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 Europe
ellerWest 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 ImageAnalysisClient
måste du välja en eller flera visuella funktioner att analysera. Alternativen anges av uppräkningsklassen VisualFeatures
. Följande funktioner stöds:
-
VisualFeatures.Caption
: (Exempel | Exempel) Generera en mening som kan läsas av människor som beskriver innehållet i en bild. -
VisualFeatures.Read
: (Exempel | exempel) Kallas även optisk teckenigenkänning (OCR). Extrahera tryckt eller handskriven text från bilder. -
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. -
VisualFeatures.Tags
: Extrahera innehållstaggar för tusentals igenkännliga objekt, levande varelser, landskap och åtgärder som visas i bilder. -
VisualFeatures.Objects
: Objektidentifiering. Detta liknar taggning, men fokuserar på att identifiera fysiska objekt i bilden och returnera deras plats. -
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. -
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.
Relaterade projekt
Azure SDK for JavaScript