Sdílet prostřednictvím


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 Přehled analýzy obrázkůa na stránce Koncepty.

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í

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 nebo Dense 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 Europenebo West 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 ImageAnalysisClientje 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:

  1. VisualFeatures.Caption: (Příklady | Ukázky) Vygenerujte čitelný větu, která popisuje obsah obrázku.
  2. 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ů.
  3. 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.
  4. 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.
  5. 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í.
  6. VisualFeatures.SmartCrops: Slouží k vyhledání reprezentativní podregionu obrázku pro generování miniatur s prioritou pro zahrnutí tváří.
  7. VisualFeatures.People: Vyhledejte lidi na obrázku a vraťte jejich umístění.

Další informace o těchtofunkcích 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.