Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Görüntü Analizi hizmeti, görüntüleri işlemek ve içerikleri hakkında bilgi döndürmek için yapay zeka algoritmaları sağlar. Tek bir hizmet çağrısında, resim için resim yazısı alma, görüntüde gösterilen metni ayıklama (OCR) ve nesneleri algılama gibi bir veya daha fazla görsel özelliği görüntüden aynı anda ayıklayabilirsiniz. Hizmet ve desteklenen görsel özellikler hakkında daha fazla bilgi için Görüntü Analizine genel bakışve Kavramları sayfasına bakın.
Görüntü Analizi istemci kitaplığını kullanarak:
- Hizmette kimlik doğrulaması
- Ayıklamak istediğiniz özellikleri ayarlama
- Analiz için görüntü yükleme veya resim URL'si gönderme
- Analiz sonucunu alma
Ürün belgeleri | Örnekler | Vision Studio | API başvuru belgeleri | Paketi (npm) | SDK kaynak kodu
Başlarken
Şu anda desteklenen ortamlar
- Node.js
LTS sürümleri - Safari, Chrome, Edge ve Firefox'un en son sürümleri.
Daha fazla bilgi için bkz. destek ilkesi.
Önkoşullar
- Azure aboneliği.
- Azure aboneliğinizde bir Görüntü İşleme kaynağı.
- Hizmette kimlik doğrulaması yapmak için bu kaynağın anahtarına ve uç noktasına ihtiyacınız olacaktır.
- Hizmeti denemek için ücretsiz fiyatlandırma katmanını (
F0) kullanabilir ve daha sonra üretim için ücretli bir katmana yükseltebilirsiniz. - Görüntü Analizi'ni
CaptionveyaDense Captionsözellikleriyle çalıştırmak için Azure kaynağının aşağıdaki GPU destekli bölgelerden biri olması gerektiğini unutmayın:East US,France Central,Korea Central,North Europe,Southeast Asia,West EuropeveyaWest US.
@azure-rest/ai-vision-image-analysis paketini yükleme
npmile JavaScript için Görüntü Analizi istemci kitaplığını yükleyin:
npm install @azure-rest/ai-vision-image-analysis
Tarayıcı desteği
JavaScript Paketi
Bu istemci kitaplığını tarayıcıda kullanmak için önce bir paketleyici kullanmanız gerekir. Bunun nasıl yapılacağının ayrıntıları için lütfen
Temel kavramlar
bir ImageAnalysisClientbaşlatıldıktan sonra analiz etmek için bir veya daha fazla görsel özellik seçmeniz gerekir. Seçenekler VisualFeaturessabit listesi sınıfı tarafından belirtilir. Aşağıdaki özellikler desteklenir:
-
VisualFeatures.Caption: (Örnekler | Örnekler) Görüntünün içeriğini açıklayan, okunabilir bir cümle oluşturun. -
VisualFeatures.Read: (Örnekler | Örnekler) Optik Karakter Tanıma (OCR) olarak da bilinir. Resimlerden yazdırılan veya el yazısı metinleri ayıklayın. -
VisualFeatures.DenseCaptions: Yoğun Açıklamalı Alt Yazılar, görüntüde 10'a kadar farklı bölge için tek cümlelik resim yazıları oluşturarak daha fazla ayrıntı sağlar ve görüntü tamamı için bir resim yazısı içerir. -
VisualFeatures.Tags: Binlerce tanınabilir nesnenin, canlının, manzaranın ve görüntülerde görünen eylemlerin içerik etiketlerini ayıklayın. -
VisualFeatures.Objects: Nesne algılama. Bu, etiketlemeye benzer, ancak görüntüdeki fiziksel nesneleri algılamaya ve konumlarını döndürmeye odaklanır. -
VisualFeatures.SmartCrops: Küçük resim oluşturma için resmin temsili bir alt bölgesini bulmak için kullanılır ve öncelik yüzleri içerecek şekilde verilir. -
VisualFeatures.People: Görüntüdeki kişileri bulun ve konumlarını geri gönderin.
Bu özellikler hakkında daha fazla bilgi için Görüntü Analizine genel bakışve Kavramları sayfasına bakın.
Desteklenen görüntü biçimleri
Görüntü Analizi, aşağıdaki gereksinimleri karşılayan görüntülerde çalışır:
- Resim JPEG, PNG, GIF, BMP, WEBP, ICO, TIFF veya MPO biçiminde gösterilmelidir
- Görüntünün dosya boyutu 20 megabayttan (MB) küçük olmalıdır
- Görüntünün boyutları 50 x 50 pikselden büyük ve 16.000 x 16.000 pikselden küçük olmalıdır
ImageAnalysisClient
ImageAnalysisClient, Görüntü Analizi hizmetiyle etkileşim kuran geliştiriciler için birincil arabirimdir. Kitaplıkla tüm etkileşimin gerçekleşeceği ağ geçidi görevi görür.
Örnekler
İstemcinin kimliğini doğrulama
Aşağıda anahtar tabanlı kimlik doğrulaması kullanarak ImageAnalysisClient örneği oluşturma örneği verilmiştır.
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);
Microsoft Entra Id Kimlik Bilgileri ile ImageAnalysisClient Oluşturma
İstemci abonelik anahtarı kimlik doğrulaması, bu başlangıç kılavuzundaki örneklerin çoğunda kullanılır, ancak [Azure Kimlik kitaplığı][azure_identity] kullanarak Microsoft Entra Id (eski adıYla Azure Active Directory) ile de kimlik doğrulaması yapabilirsiniz. Aşağıda gösterilen [DefaultAzureCredential][azure_identity_dac] sağlayıcısını veya Azure SDK ile sağlanan diğer kimlik bilgisi sağlayıcılarını kullanmak için lütfen Azure.Identity paketini yükleyin:
npm install @azure/identity
const endpoint = "<your_endpoint>";
const credential = new DefaultAzureCredential();
const client = new ImageAnalysisClient(endpoint, credential);
URL'den görüntü analiz etme
Aşağıdaki örnek, JavaScript için Görüntü Analizi istemci kitaplığını kullanarak bir görüntüyü analiz etme işlemini gösterir.
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();
Yerel dosyadan görüntü analiz etme
Bu örnekte, JavaScript için Görüntü Analizi istemci kitaplığını kullanarak yerel bir dosyadaki bir görüntüyü analiz edeceğiz.
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();
Resim Url'sinden metin ayıklama
Bu örnekte, ImageAnalysisClient kullanılarak görüntü dosyası sample.jpg için yazdırılan veya el ile yazılmış metnin nasıl ayıklanması gösterilmektedir. Yöntem çağrısı bir ImageAnalysisResult nesnesi döndürür. Döndürülen nesnedeki ReadResult özelliği, metin satırlarının listesini ve her metin satırını çevreleyen sınırlayıcı çokgeni içerir. Her satır için, metin satırındaki sözcüklerin listesini ve her sözcüğü çevreleyen sınırlayıcı çokgeni de döndürür.
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.');
}
Sorun giderme
Günlük tutmak
Günlüğe kaydetmeyi etkinleştirmek, hatalarla ilgili yararlı bilgilerin ortaya çıkmasına yardımcı olabilir. HTTP isteklerinin ve yanıtlarının günlüğünü görmek için AZURE_LOG_LEVEL ortam değişkenini infoolarak ayarlayın. Alternatif olarak, @azure/loggersetLogLevel çağrılarak günlükler çalışma zamanında etkinleştirilebilir:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Günlükleri etkinleştirme hakkında daha ayrıntılı yönergeler için
Sonraki adımlar
İstemci kitaplıklarının nasıl kullanılacağını gösteren ayrıntılı örnekler için lütfen örnekleri dizinine göz atın.
Katkıda
Bu kitaplığa katkıda bulunmak istiyorsanız kodu oluşturma ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzu okuyun.
İlgili projeler
- JavaScript için Microsoft Azure SDK
Azure SDK for JavaScript