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
- Versi LTS dari Node.js
- Safari, Chrome, Edge, dan Firefox versi terbaru.
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 Europe
Korea Central
,Southeast Asia
, ,West Europe
, atauWest 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 VisualFeatures
enum . Fitur-fitur berikut didukung:
VisualFeatures.Caption
: (Contoh | Sampel) Menghasilkan kalimat yang dapat dibaca manusia yang menjelaskan konten gambar.VisualFeatures.Read
: (Contoh | Sampel) Juga dikenal sebagai Pengenalan Karakter Optik (OCR). Ekstrak teks cetak atau tulisan tangan dari gambar.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.VisualFeatures.Tags
: Ekstrak tag konten untuk ribuan objek yang dapat dikenali, makhluk hidup, pemandangan, dan tindakan yang muncul dalam gambar.VisualFeatures.Objects
: Deteksi objek. Ini mirip dengan pemberian tag, tetapi berfokus pada mendeteksi objek fisik dalam gambar dan mengembalikan lokasinya.VisualFeatures.SmartCrops
: Digunakan untuk menemukan sub-wilayah gambar yang representatif untuk pembuatan gambar mini, dengan prioritas yang diberikan untuk menyertakan wajah.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.
Proyek terkait
Azure SDK for JavaScript
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk