Vision API istemcisini kullanarak bir görüntüdeki baskın renkleri elde etmek için Google Vision API tarafından sağlanan görüntü özelliklerini algılama özelliğini kullanabiliriz. Bu güçlü araç, mevcut baskın renkleri belirlemek de dahil olmak üzere bir görüntünün görsel içeriğini analiz etmemize ve anlamamıza olanak tanır.
İlk adım Vision API istemcisini kurmak ve isteklerimizi doğrulamaktır. Bunu yaptıktan sonra analiz için API'ye bir resim gönderebiliriz. API, JPEG, PNG ve GIF gibi çeşitli resim formatlarını destekler.
Baskın renkleri elde etmek için API'nin `imagePropertiesAnnotation` özelliğini kullanmamız gerekiyor. Bu özellik bize baskın renkler de dahil olmak üzere görüntüde bulunan renkler hakkında bilgi sağlar. Baskın renkler RGB değerleriyle temsil edilir ve görüntüdeki yaygınlıklarına göre sıralanır.
API'ye istekte bulunurken `features` parametresini `IMAGE_PROPERTIES` olarak belirtmemiz gerekiyor. Bu, API'ye baskın renkler de dahil olmak üzere görüntü özelliklerini çıkarmak istediğimizi bildirir. Python kullanarak API çağrısını nasıl yapabileceğimize dair bir örnek:
python import base64 from google.cloud import vision def get_dominant_colors(image_path): client = vision.ImageAnnotatorClient() with open(image_path, 'rb') as image_file: content = image_file.read() image = vision.Image(content=content) features = [vision.Feature(type_=vision.Feature.Type.IMAGE_PROPERTIES)] response = client.annotate_image({ 'image': image, 'features': features }) colors = response.image_properties_annotation.dominant_colors.colors dominant_colors = [] for color_info in colors: color = color_info.color rgb = (color.red, color.green, color.blue) dominant_colors.append(rgb) return dominant_colors
Yukarıdaki örnekte öncelikle gerekli kitaplıkları içe aktarıyoruz ve Vision API istemcisinin kimliğini doğruluyoruz. Daha sonra imaj dosyasını okuyoruz ve görsel içeriğiyle birlikte bir Vision API `Image` nesnesi oluşturuyoruz. Daha sonra `IMAGE_PROPERTIES` özelliğini belirliyoruz ve `annotate_image` yöntemini kullanarak API çağrısını yapıyoruz.
API yanıtı, "image_properties_annotation" alanındaki baskın renkleri içerir. Renkler üzerinde yinelemeler yapıyoruz ve RGB değerlerini çıkarıyoruz. Son olarak baskın renklerin listesini döndürüyoruz.
API'nin döndürdüğü baskın renklerin, görüntüdeki renklerin genel yaygınlığına bağlı olduğunu unutmamak önemlidir. Bu, döndürülen renklerin görüntüdeki görsel olarak en belirgin öğeleri temsil etmeyebileceği anlamına gelir. Ancak baskın renk paletinin iyi bir göstergesidirler.
Vision API istemcisini kullanarak bir görüntüdeki baskın renkleri elde etmek için "imagePropertiesAnnotation" özelliğini kullanmamız gerekir. Uygun parametrelerle API çağrısı yaparak baskın renkleri RGB değerleri olarak elde edebiliriz. Bu işlevsellik, görsel kategorizasyonu, içerik analizi ve görsel arama gibi çeşitli uygulamalarda faydalı olabilir.
ile ilgili diğer yeni sorular ve cevaplar EITC/AI/GVAPI Google Vision API:
- Google Vision API, yastık Python kütüphanesi ile görseller yerine videolarda nesnelerin algılanması ve etiketlenmesi için uygulanabilir mi?
- Görüntülerde ve videolarda hayvanların çevresine nesne sınırları çizme ve bu sınırları belirli hayvan adlarıyla etiketleme nasıl uygulanır?
- Google Vision API'de nesne tanımaya yönelik önceden tanımlanmış bazı kategoriler nelerdir?
- Google Vision API yüz tanımayı etkinleştiriyor mu?
- "draw_vertices" işlevi kullanılarak nesne kenarları çizilirken görüntü metni görüntüye nasıl eklenebilir?
- Verilen koddaki "draw.line" yönteminin parametreleri nelerdir ve köşe değerleri arasında çizgi çizmek için nasıl kullanılırlar?
- Python'da nesne kenarlıklarını çizmek için yastık kütüphanesi nasıl kullanılabilir?
- Verilen koddaki "draw_vertices" fonksiyonunun amacı nedir?
- Google Vision API, bir görüntüdeki şekillerin ve nesnelerin anlaşılmasına nasıl yardımcı olabilir?
- Kullanıcılar API tarafından önerilen görsel olarak benzer görselleri nasıl keşfedebilir?
EITC/AI/GVAPI Google Vision API'de daha fazla soru ve yanıt görüntüleyin