Klientská knihovna Azure AI Vision Image Analysis pro JavaScript – verze 1.0.0-beta.3
Služba Analýza obrázků poskytuje algoritmy AI pro zpracování obrázků a vracení informací o jejich obsahu. V jednom volání služby můžete z obrázku extrahovat jednu nebo více vizuálních funkcí současně, včetně získání titulku pro obrázek, extrahování textu zobrazeného v obrázku (OCR) a rozpoznávání objektů. Další informace o službě a podporovaných vizuálních funkcích najdete v tématu
Pomocí klientské knihovny Pro analýzu obrázků můžete:
- Ověření vůči službě
- Nastavení funkcí, které chcete extrahovat
- Nahrání obrázku pro analýzu nebo odeslání adresy URL obrázku
- Získání výsledku analýzy
referenční dokumentace k | Ukázky | Vision Studio | API | Package (npm) | SDK
Začínáme
Aktuálně podporovaná prostředí
- LTS verze Node.js
- Nejnovější verze Safari, Chrome, Edge a Firefox.
Další podrobnosti najdete v našich zásadách podpory .
Požadavky
- Předplatné Azure.
- Prostředek počítačového zpracování obrazu ve vašem předplatném Azure.
- K ověření ve službě budete potřebovat klíč a koncový bod z tohoto prostředku.
- K vyzkoušení služby můžete použít cenovou úroveň Free (
F0
) a později upgradovat na placenou úroveň pro produkční prostředí. - Mějte na paměti, že aby bylo možné spustit analýzu obrázků pomocí funkcí
Caption
neboDense Captions
, musí být prostředek Azure z jedné z následujících oblastí podporovaných GPU:East US
,France Central
,Korea Central
,North Europe
,Southeast Asia
,West Europe
neboWest US
.
Instalace balíčku @azure-rest/ai-vision-image-analysis
Nainstalujte klientskou knihovnu Image Analysis pro JavaScript s npm
:
npm install @azure-rest/ai-vision-image-analysis
Podpora prohlížeče
JavaScript Bundle
Pokud chcete tuto klientskou knihovnu použít v prohlížeči, musíte nejprve použít bundler. Podrobnosti o tom, jak to udělat, najdete v naší dokumentaci sdružování.
Klíčové koncepty
Po inicializaci ImageAnalysisClient
je potřeba vybrat jednu nebo více vizuálních funkcí k analýze. Možnosti jsou určeny výčtu třídy VisualFeatures
. Podporují se následující funkce:
-
VisualFeatures.Caption
: (Příklady | Ukázky) Vygenerujte čitelný větu, která popisuje obsah obrázku. -
VisualFeatures.Read
: (příklady | ukázky) označované také jako optické rozpoznávání znaků (OCR). Extrahujte tištěný nebo rukou psaný text z obrázků. -
VisualFeatures.DenseCaptions
: Zhuštěné titulky poskytují další podrobnosti vygenerováním titulků s jednou větou pro až 10 různých oblastí na obrázku, včetně jednoho pro celý obrázek. -
VisualFeatures.Tags
: Extrahujte značky obsahu pro tisíce rozpoznatelných objektů, živých bytostí, scenérií a akcí, které se zobrazují na obrázcích. -
VisualFeatures.Objects
: Detekce objektů. Podobá se označování, ale zaměřuje se na detekci fyzických objektů na obrázku a vrácení jejich umístění. -
VisualFeatures.SmartCrops
: Slouží k vyhledání reprezentativní podregionu obrázku pro generování miniatur s prioritou pro zahrnutí tváří. -
VisualFeatures.People
: Vyhledejte lidi na obrázku a vraťte jejich umístění.
Další informace o těchtofunkcích
Podporované formáty obrázků
Analýza obrázků funguje na obrázcích, které splňují následující požadavky:
- Obrázek musí být prezentován ve formátu JPEG, PNG, GIF, BMP, WEBP, ICO, TIFF nebo MPO.
- Velikost souboru obrázku musí být menší než 20 megabajtů (MB).
- Rozměry obrázku musí být větší než 50 x 50 pixelů a menší než 16 000 x 16 000 pixelů.
ImageAnalysisClient
ImageAnalysisClient
je primárním rozhraním pro vývojáře, kteří pracují se službou Image Analysis Service. Slouží jako brána, ze které bude probíhat veškerá interakce s knihovnou.
Příklady
Ověření klienta
Tady je příklad vytvoření instance ImageAnalysisClient
pomocí ověřování založeného na klíči.
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);
Vytvoření ImageAnalysisClient s přihlašovacími údaji Microsoft Entra ID
Ověřování klíče předplatného klienta se používá ve většině příkladů v této úvodní příručce, ale můžete se také ověřit pomocí Microsoft Entra ID (dříve Azure Active Directory) pomocí [knihovny identit Azure][azure_identity]. Pokud chcete použít níže uvedeného zprostředkovatele [DefaultAzureCredential][azure_identity_dac] nebo jiné zprostředkovatele přihlašovacích údajů poskytnuté sadou Azure SDK, nainstalujte balíček Azure.Identity:
npm install @azure/identity
const endpoint = "<your_endpoint>";
const credential = new DefaultAzureCredential();
const client = new ImageAnalysisClient(endpoint, credential);
Analýza obrázku z adresy URL
Následující příklad ukazuje, jak analyzovat obrázek pomocí klientské knihovny Analýza obrázků pro 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();
Analýza obrázku z místního souboru
V tomto příkladu budeme analyzovat obrázek z místního souboru pomocí klientské knihovny Analýza obrázků pro 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();
Extrahování textu z adresy URL obrázku
Tento příklad ukazuje, jak extrahovat tištěný nebo rukou psaný text pro soubor obrázku sample.jpg pomocí ImageAnalysisClient. Volání metody vrátí ImageAnalysisResult objektu. ReadResult vlastnost u vráceného objektu obsahuje seznam textových řádků a ohraničující mnohoúhelník obklopující každý řádek textu. Pro každý řádek také vrátí seznam slov v textovém řádku a ohraničující mnohoúhelník obklopující každé slovo.
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.');
}
Řešení problémů
Protokolování
Povolení protokolování může pomoct odhalit užitečné informace o chybách. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou prostředí AZURE_LOG_LEVEL
na info
. Případně můžete protokolování povolit za běhu voláním setLogLevel
v @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Podrobnější pokyny k povolení protokolů najdete v dokumentaci k @azure/protokolovacímu balíčku.
Další kroky
Podrobné příklady použití klientských knihoven najdete v ukázkách adresáři.
Přispívající
Pokud chcete přispívat do této knihovny, přečtěte si průvodce přispívání a přečtěte si další informace o vytváření a testování kódu.
Související projekty
Azure SDK for JavaScript