Bagikan melalui


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

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 caption 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:

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

Dokumentasi | produkSampel | Vision Studio | Dokumentasi | referensi APIPaket (npm) | Kode sumber SDK

Memulai

Lingkungan yang didukung saat ini

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, lalu meningkatkannya ke tingkat berbayar untuk produksi.
    • Perhatikan bahwa untuk menjalankan Analisis Gambar dengan fitur atau Dense Captions , sumber daya Azure harus berasal dari salah satu wilayah yang didukung GPU berikut: East US, , France Central, North EuropeKorea Central, Southeast Asia, , West Europe, atau West US.Caption

Pasang 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-tama, 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 VisualFeaturesenum . Fitur-fitur berikut 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 membuat keterangan satu kalimat untuk hingga 10 wilayah berbeda dalam gambar, termasuk satu untuk seluruh gambar.
  4. VisualFeatures.Tags: Ekstrak tag konten untuk ribuan objek yang dapat dikenali, makhluk hidup, pemandangan, dan tindakan 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

Image Analysis 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 ImageAnalysisClient instans menggunakan autentikasi berbasis kunci dan autentikasi Azure Active Directory.

const { ImageAnalysisClient, KeyCredential } = require("@azure-rest/ai-image-analysis");

const endpoint = "<your_endpoint>";
const key = "<your_key>";
const credential = new KeyCredential(key);

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 di sekitar setiap baris teks. Untuk setiap baris, ia juga mengembalikan daftar kata di 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

Pencatatan

Mengaktifkan pengelogan dapat membantu menemukan 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 direktori sampel 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.