Bagikan melalui


Pustaka klien Azure AI Vision Image Analysis untuk JavaScript - versi 1.0.0-beta.3

Layanan Analisis Gambar menyediakan algoritma AI untuk memproses gambar dan mengembalikan informasi tentang kontennya. Dalam satu panggilan layanan, Anda dapat mengekstrak satu atau beberapa fitur visual dari gambar secara bersamaan, termasuk mendapatkan keterangan untuk gambar, mengekstrak teks yang ditampilkan dalam gambar (OCR) dan mendeteksi objek. Untuk informasi selengkapnya tentang layanan dan fitur visual yang didukung, lihat gambaran umum Analisis Gambar, dan halaman Konsep .

Gunakan pustaka klien Analisis Gambar untuk:

  • Mengautentikasi terhadap layanan
  • Atur fitur apa yang ingin Anda ekstrak
  • Mengunggah gambar untuk analisis, atau mengirim URL gambar
  • Mendapatkan hasil analisis

Dokumentasi produk | Sampel referensi | Vision Studio | API | Package (npm) | kode sumber SDK

Persiapan

Lingkungan yang saat ini didukung

Lihat kebijakan dukungan kami untuk detail selengkapnya.

Prasyarat

  • Langganan Azure .
  • Sumber daya Computer Vision di langganan Azure Anda.
    • Anda akan memerlukan kunci dan titik akhir dari sumber daya ini untuk mengautentikasi terhadap layanan.
    • Anda dapat menggunakan tingkat harga gratis (F0) untuk mencoba layanan, dan meningkatkannya nanti ke tingkat berbayar untuk produksi.
    • Perhatikan bahwa untuk menjalankan Analisis Gambar dengan fitur Caption atau Dense Captions, sumber daya Azure harus berasal dari salah satu wilayah yang didukung GPU berikut: East US, France Central, Korea Central, North Europe, Southeast Asia, West Europe, atau West US.

Menginstal paket @azure-rest/ai-vision-image-analysis

Instal pustaka klien Analisis Gambar untuk JavaScript dengan npm:

npm install @azure-rest/ai-vision-image-analysis

Dukungan browser

Bundel JavaScript

Untuk menggunakan pustaka klien ini di browser, pertama, Anda perlu menggunakan bunder. Untuk detail tentang cara melakukan ini, silakan lihat dokumentasi bundling kami.

Konsep utama

Setelah menginisialisasi ImageAnalysisClient, Anda perlu memilih satu atau beberapa fitur visual untuk dianalisis. Opsi ditentukan oleh kelas enum VisualFeatures. Fitur berikut ini didukung:

  1. VisualFeatures.Caption: ( Contoh | Sampel) Menghasilkan kalimat yang dapat dibaca manusia yang menjelaskan konten gambar.
  2. VisualFeatures.Read: ( Contoh | Sampel) Juga dikenal sebagai Pengenalan Karakter Optik (OCR). Ekstrak teks cetak atau tulisan tangan dari gambar.
  3. VisualFeatures.DenseCaptions: Keterangan Padat memberikan detail lebih lanjut dengan menghasilkan keterangan satu kalimat untuk hingga 10 wilayah berbeda dalam gambar, termasuk satu untuk seluruh gambar.
  4. VisualFeatures.Tags: Ekstrak tag konten untuk ribuan objek, makhluk hidup, pemandangan, dan tindakan yang dapat dikenali yang muncul dalam gambar.
  5. VisualFeatures.Objects: Deteksi objek. Ini mirip dengan pemberian tag, tetapi berfokus pada mendeteksi objek fisik dalam gambar dan mengembalikan lokasinya.
  6. VisualFeatures.SmartCrops: Digunakan untuk menemukan sub-wilayah gambar yang representatif untuk pembuatan gambar mini, dengan prioritas yang diberikan untuk menyertakan wajah.
  7. VisualFeatures.People: Temukan orang dalam gambar dan kembalikan lokasi mereka.

Untuk informasi selengkapnya tentang fitur-fitur ini, lihat gambaran umum Analisis Gambar, dan halaman Konsep .

Format gambar yang didukung

Analisis Gambar berfungsi pada gambar yang memenuhi persyaratan berikut:

  • Gambar harus disajikan dalam format JPEG, PNG, GIF, BMP, WEBP, ICO, TIFF, atau MPO
  • Ukuran file gambar harus kurang dari 20 megabyte (MB)
  • Dimensi gambar harus lebih besar dari 50 x 50 piksel dan kurang dari 16.000 x 16.000 piksel

ImageAnalysisClient

ImageAnalysisClient adalah antarmuka utama untuk pengembang yang berinteraksi dengan layanan Analisis Gambar. Ini berfungsi sebagai gateway tempat semua interaksi dengan pustaka akan terjadi.

Contoh

Mengautentikasi klien

Berikut adalah contoh cara membuat instans ImageAnalysisClient menggunakan autentikasi berbasis kunci.

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);

Membuat ImageAnalysisClient dengan Kredensial ID Microsoft Entra

Autentikasi kunci langganan klien digunakan di sebagian besar contoh dalam panduan memulai ini, tetapi Anda juga dapat mengautentikasi dengan ID Microsoft Entra (sebelumnya Azure Active Directory) menggunakan [Pustaka Identitas Azure][azure_identity]. Untuk menggunakan penyedia [DefaultAzureCredential][azure_identity_dac] yang ditunjukkan di bawah ini, atau penyedia kredensial lain yang disediakan dengan Azure SDK, instal paket Azure.Identity:

npm install @azure/identity
const endpoint = "<your_endpoint>";
const credential = new DefaultAzureCredential();

const client = new ImageAnalysisClient(endpoint, credential);

Menganalisis gambar dari URL

Contoh berikut menunjukkan cara menganalisis gambar menggunakan pustaka klien Analisis Gambar untuk 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();

Menganalisis gambar dari file lokal

Dalam contoh ini, kita akan menganalisis gambar dari file lokal menggunakan pustaka klien Analisis Gambar untuk 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();

Mengekstrak teks dari Url gambar

Contoh ini menunjukkan cara mengekstrak teks cetak atau tulisan tangan untuk file gambar sample.jpg menggunakan ImageAnalysisClient. Panggilan metode mengembalikan objek ImageAnalysisResult. Properti ReadResult pada objek yang dikembalikan menyertakan daftar baris teks dan poligon pembatas yang mengelilingi setiap baris teks. Untuk setiap baris, baris juga mengembalikan daftar kata dalam baris teks dan poligon pembatas yang mengelilingi setiap kata.

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.');
  }

Pemecahan masalah

Penebangan

Mengaktifkan pengelogan dapat membantu mengungkap informasi yang berguna tentang kegagalan. Untuk melihat log permintaan dan respons HTTP, atur variabel lingkungan AZURE_LOG_LEVEL ke info. Atau, pengelogan dapat diaktifkan saat runtime dengan memanggil setLogLevel di @azure/logger:

const { setLogLevel } = require("@azure/logger");

setLogLevel("info");

Untuk instruksi lebih rinci tentang cara mengaktifkan log, Anda dapat melihat dokumen paket @azure/pencatat.

Langkah berikutnya

Silakan lihat sampel direktori untuk contoh terperinci yang menunjukkan cara menggunakan pustaka klien.

Berkontribusi

Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.