За да извлечем доминиращите цветове в изображение с помощта на клиента Vision API, можем да използваме функцията за откриване на свойствата на изображението, предоставена от API на Google Vision. Този мощен инструмент ни позволява да анализираме и разбираме визуалното съдържание на изображение, включително идентифициране на присъстващите доминиращи цветове.
Първата стъпка е да настроим клиента на Vision API и да удостоверим нашите заявки. След като направим това, можем да изпратим изображение на API за анализ. API поддържа различни формати на изображения като JPEG, PNG и GIF.
За да извлечем доминиращите цветове, трябва да използваме функцията `imagePropertiesAnnotation` на API. Тази функция ни предоставя информация за присъстващите цветове в изображението, включително доминиращите цветове. Доминиращите цветове са представени от техните RGB стойности и са класирани въз основа на тяхното разпространение в изображението.
Когато правим заявка към API, трябва да посочим параметъра `features` като `IMAGE_PROPERTIES`. Това казва на API, че искаме да извлечем свойствата на изображението, включително доминиращите цветове. Ето пример за това как можем да направим извикването на API с помощта на Python:
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
В горния пример първо импортираме необходимите библиотеки и удостоверяваме клиента на Vision API. След това четем файла с изображение и създаваме обект „Image“ на Vision API със съдържанието на изображението. След това указваме функцията `IMAGE_PROPERTIES` и правим извикването на API с помощта на метода `annotate_image`.
Отговорът на API съдържа доминиращите цветове в полето `image_properties_annotation`. Ние итерираме цветовете и извличаме RGB стойностите. Накрая връщаме списъка с доминиращи цветове.
Важно е да се отбележи, че доминиращите цветове, върнати от API, се основават на общото преобладаване на цветовете в изображението. Това означава, че върнатите цветове може да не представляват непременно най-видимите елементи в изображението. Въпреки това, те предоставят добра индикация за доминиращата цветова палитра.
За да извлечем доминиращите цветове в изображение с помощта на Vision API клиента, трябва да използваме функцията `imagePropertiesAnnotation`. Като направим API извикване с подходящите параметри, можем да получим доминиращите цветове като RGB стойности. Тази функционалност може да бъде полезна в различни приложения, като категоризиране на изображения, анализ на съдържание и визуално търсене.
Други скорошни въпроси и отговори относно EITC/AI/GVAPI API на Google Vision:
- Кои са някои предварително дефинирани категории за разпознаване на обекти в API на Google Vision?
- Google Vision API позволява ли разпознаване на лица?
- Как текстът на дисплея може да бъде добавен към изображението, когато чертаете граници на обект с помощта на функцията "draw_vertices"?
- Какви са параметрите на метода "draw.line" в предоставения код и как се използват за чертане на линии между стойностите на върховете?
- Как може библиотеката с възглавници да се използва за изчертаване на граници на обекти в Python?
- Каква е целта на функцията "draw_vertices" в предоставения код?
- Как API на Google Vision може да помогне за разбирането на формите и обектите в изображение?
- Как потребителите могат да изследват визуално подобни изображения, препоръчани от API?
- Какви са различните елементи, предоставени в обекта за отговор на функцията за уеб откриване на API на Google Vision?
- Как функцията Web Detection помага при генерирането на етикети за качени изображения?
Вижте още въпроси и отговори в EITC/AI/GVAPI Google Vision API