Azure AI Vision Image Analysis-Clientbibliothek für JavaScript – Version 1.0.0-beta.3
Der Bildanalysedienst stellt KI-Algorithmen für die Verarbeitung von Bildern und das Zurückgeben von Informationen zu ihren Inhalten bereit. In einem einzelnen Dienstaufruf können Sie ein oder mehrere visuelle Features gleichzeitig aus dem Bild extrahieren, darunter das Abrufen einer Beschriftung für das Bild, das Extrahieren von Text, der im Bild (OCR) angezeigt wird, und das Erkennen von Objekten. Weitere Informationen zum Dienst und zu den unterstützten visuellen Features finden Sie unter Übersicht über die Bildanalyseund auf der Seite Konzepte.
Verwenden Sie die Clientbibliothek für die Bildanalyse, um:
- Authentifizieren für den Dienst
- Festlegen der Features, die Sie extrahieren möchten
- Hochladen eines Bilds zur Analyse oder Senden einer Bild-URL
- Abrufen des Analyseergebnisses
Produktdokumentation | Beispiele | Vision Studio | API-Referenzdokumentation | Package (npm) | SDK-Quellcode
Erste Schritte
Derzeit unterstützte Umgebungen
- LTS-Versionen von Node.js
- Neueste Versionen von Safari, Chrome, Edge und Firefox.
Weitere Informationen finden Sie in unserer Supportrichtlinie.
Voraussetzungen
- Ein Azure-Abonnement.
- Eine Computer Vision-Ressource in Ihrem Azure-Abonnement.
- Sie benötigen den Schlüssel und endpunkt aus dieser Ressource, um sich für den Dienst zu authentifizieren.
- Sie können das kostenlose Preisniveau (
F0
) verwenden, um den Dienst zu testen und später auf eine kostenpflichtige Stufe für die Produktion zu aktualisieren. - Beachten Sie, dass die Azure-Ressource zum Ausführen der Bildanalyse mit den features
Caption
oderDense Captions
aus einer der folgenden GPU-unterstützten Regionen stammen muss:East US
,France Central
,Korea Central
,North Europe
,Southeast Asia
,West Europe
oderWest US
.
Installieren des @azure-rest/ai-vision-image-analysis
-Pakets
Installieren Sie die Image Analysis-Clientbibliothek für JavaScript mit npm
:
npm install @azure-rest/ai-vision-image-analysis
Browserunterstützung
JavaScript-Bündel
Um diese Clientbibliothek im Browser zu verwenden, müssen Sie zuerst einen Bundler verwenden. Ausführliche Informationen dazu finden Sie in unserer Bündelungsdokumentation.
Schlüsselkonzepte
Nachdem Sie eine ImageAnalysisClient
initialisiert haben, müssen Sie ein oder mehrere visuelle Features auswählen, die analysiert werden sollen. Die Optionen werden durch die Enumerationsklasse VisualFeatures
angegeben. Die folgenden Features werden unterstützt:
-
VisualFeatures.Caption
: (Beispiele | Beispiele) Generieren Sie einen lesbaren Satz, der den Inhalt eines Bilds beschreibt. -
VisualFeatures.Read
: (Beispiele | Beispiele) Auch als optische Zeichenerkennung (OCR) bezeichnet. Extrahieren Sie gedruckten oder handschriftlichen Text aus Bildern. -
VisualFeatures.DenseCaptions
: Dichte Beschriftungen bieten weitere Details durch Generieren von Einsatzbeschriftungen für bis zu 10 verschiedene Bereiche im Bild, einschließlich einer für das gesamte Bild. -
VisualFeatures.Tags
: Extrahieren Sie Inhaltstags für Tausende erkennbarer Objekte, Lebewesen, Landschaft und Aktionen, die in Bildern angezeigt werden. -
VisualFeatures.Objects
: Objekterkennung. Dies ähnelt dem Tagging, konzentriert sich jedoch auf das Erkennen physischer Objekte im Bild und die Rückgabe ihrer Position. -
VisualFeatures.SmartCrops
: Wird verwendet, um einen repräsentativen Unterbereich des Bilds für die Miniaturansichtengenerierung zu finden, wobei die Priorität zum Einschließen von Gesichtern gegeben ist. -
VisualFeatures.People
: Suchen Sie Personen im Bild, und geben Sie ihren Standort zurück.
Weitere Informationen zu diesen Features finden Sie unter Übersicht über die Bildanalyseund auf der Seite Konzepte.
Unterstützte Bildformate
Die Bildanalyse funktioniert auf Bildern, die die folgenden Anforderungen erfüllen:
- Das Bild muss im JPEG-, PNG-, GIF-, BMP-, WEBP-, ICO-, TIFF- oder MPO-Format angezeigt werden.
- Die Dateigröße des Bilds muss kleiner als 20 MB sein.
- Die Abmessungen des Bilds müssen größer als 50 x 50 Pixel und kleiner als 16.000 x 16.000 Pixel sein.
ImageAnalysisClient
Die ImageAnalysisClient
ist die primäre Schnittstelle für Entwickler, die mit dem Bildanalysedienst interagieren. Sie dient als Gateway, von dem aus alle Interaktionen mit der Bibliothek auftreten.
Beispiele
Authentifizieren des Clients
Im Folgenden finden Sie ein Beispiel zum Erstellen einer ImageAnalysisClient
Instanz mithilfe einer schlüsselbasierten Authentifizierung.
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);
Erstellen von ImageAnalysisClient mit einer Microsoft Entra ID-Anmeldeinformationen
Die Clientabonnementschlüsselauthentifizierung wird in den meisten Beispielen in diesem Leitfaden für die ersten Schritte verwendet, Sie können sich jedoch auch mit der Microsoft Entra-ID (vormals Azure Active Directory) mithilfe der [Azure Identity Library][azure_identity] authentifizieren. Um den unten angezeigten [DefaultAzureCredential][azure_identity_dac]-Anbieter oder andere Anmeldeinformationsanbieter zu verwenden, die mit dem Azure SDK bereitgestellt werden, installieren Sie bitte das Azure.Identity-Paket:
npm install @azure/identity
const endpoint = "<your_endpoint>";
const credential = new DefaultAzureCredential();
const client = new ImageAnalysisClient(endpoint, credential);
Analysieren eines Bilds aus der URL
Im folgenden Beispiel wird veranschaulicht, wie ein Bild mithilfe der Bildanalyse-Clientbibliothek für JavaScript analysiert wird.
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();
Analysieren eines Bilds aus einer lokalen Datei
In diesem Beispiel analysieren wir ein Bild aus einer lokalen Datei mithilfe der Image Analysis-Clientbibliothek 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();
Extrahieren von Text aus einer Bild-URL
In diesem Beispiel wird veranschaulicht, wie gedruckter oder handgeschriebener Text für die Bilddatei sample.jpg mithilfe des ImageAnalysisClient extrahiert wird. Der Methodenaufruf gibt ein ImageAnalysisResult -Objekt zurück. Die ReadResult-Eigenschaft für das zurückgegebene Objekt enthält eine Liste von Textzeilen und ein umgebendes Polygon, das jede Textzeile umgibt. Für jede Zeile gibt sie auch eine Liste von Wörtern in der Textzeile und ein umgebendes Polygon um jedes Wort zurück.
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.');
}
Fehlerbehebung
Protokollierung
Das Aktivieren der Protokollierung kann hilfreiche Informationen zu Fehlern aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die AZURE_LOG_LEVEL
Umgebungsvariable auf info
fest. Alternativ kann die Protokollierung zur Laufzeit durch Aufrufen von setLogLevel
im @azure/logger
aktiviert werden:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Ausführlichere Anweisungen zum Aktivieren von Protokollen finden Sie in den @azure/Logger-Paketdokumenten.
Nächste Schritte
Sehen Sie sich die Beispiele Verzeichnis an, um detaillierte Beispiele zur Verwendung der Clientbibliotheken zu finden.
Beitragend
Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie bitte den mitwirkenden Leitfaden, um mehr über das Erstellen und Testen des Codes zu erfahren.
Verwandte Projekte
Azure SDK for JavaScript