برای بازیابی رنگ های غالب در یک تصویر با استفاده از سرویس گیرنده Vision API، می توانیم از ویژگی تشخیص ویژگی های تصویر ارائه شده توسط Google Vision API استفاده کنیم. این ابزار قدرتمند به ما امکان تجزیه و تحلیل و درک محتوای بصری یک تصویر، از جمله شناسایی رنگهای غالب موجود را میدهد.
اولین قدم این است که سرویس گیرنده Vision API را راه اندازی کنیم و درخواست های خود را تأیید کنیم. وقتی این کار را انجام دادیم، میتوانیم تصویری را برای تجزیه و تحلیل به API ارسال کنیم. API از فرمت های مختلف تصویر مانند JPEG، PNG و GIF پشتیبانی می کند.
برای بازیابی رنگهای غالب، باید از ویژگی «imagePropertiesAnnotation» API استفاده کنیم. این ویژگی اطلاعاتی در مورد رنگ های موجود در تصویر از جمله رنگ های غالب در اختیار ما قرار می دهد. رنگ های غالب با مقادیر RGB آنها نشان داده می شوند و بر اساس میزان شیوع آنها در تصویر رتبه بندی می شوند.
هنگام درخواست به API، باید پارامتر "ویژگی ها" را به عنوان "IMAGE_PROPERTIES" مشخص کنیم. این به API می گوید که ما می خواهیم ویژگی های تصویر، از جمله رنگ های غالب را استخراج کنیم. در اینجا مثالی از نحوه برقراری فراخوانی API با استفاده از پایتون آورده شده است:
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 را احراز هویت می کنیم. سپس، فایل تصویر را می خوانیم و یک شئ Vision API `Image` با محتوای تصویر ایجاد می کنیم. در مرحله بعد، ویژگی «IMAGE_PROPERTIES» را مشخص می کنیم و با استفاده از روش «annotate_image» تماس API را برقرار می کنیم.
پاسخ API حاوی رنگهای غالب در فیلد «ویژگی_تصویر_حاشیه» است. روی رنگ ها تکرار می کنیم و مقادیر RGB را استخراج می کنیم. در نهایت لیست رنگ های غالب را برمی گردانیم.
توجه به این نکته مهم است که رنگ های غالب برگردانده شده توسط API بر اساس شیوع کلی رنگ ها در تصویر است. این بدان معناست که رنگهای برگشتی ممکن است لزوماً برجستهترین عناصر بصری را در تصویر نشان ندهند. با این حال، آنها نشانه خوبی از پالت رنگ غالب ارائه می دهند.
برای بازیابی رنگ های غالب در یک تصویر با استفاده از سرویس گیرنده Vision API، باید از ویژگی «imagePropertiesAnnotation» استفاده کنیم. با برقراری یک فراخوانی API با پارامترهای مناسب، می توانیم رنگ های غالب را به عنوان مقادیر RGB بدست آوریم. این قابلیت می تواند در برنامه های مختلف مانند دسته بندی تصاویر، تجزیه و تحلیل محتوا و جستجوی بصری مفید باشد.
سایر پرسش ها و پاسخ های اخیر در مورد EITC/AI/GVAPI Google Vision API:
- چند دسته از پیش تعریف شده برای تشخیص شی در Google Vision API چیست؟
- آیا Google Vision API تشخیص چهره را فعال می کند؟
- چگونه می توان متن نمایشگر را هنگام ترسیم مرزهای شی با استفاده از تابع "draw_vertices" به تصویر اضافه کرد؟
- پارامترهای متد "draw.line" در کد ارائه شده چیست و چگونه از آنها برای کشیدن خطوط بین مقادیر رئوس استفاده می شود؟
- چگونه می توان از کتابخانه بالش برای ترسیم مرزهای اشیا در پایتون استفاده کرد؟
- هدف از تابع "draw_vertices" در کد ارائه شده چیست؟
- چگونه Google Vision API می تواند به درک اشکال و اشیاء در یک تصویر کمک کند؟
- چگونه کاربران می توانند تصاویر مشابه بصری توصیه شده توسط API را کاوش کنند؟
- عناصر مختلف ارائه شده در شی پاسخ ویژگی تشخیص وب Google Vision API چیست؟
- چگونه ویژگی Web Detection به تولید برچسب برای تصاویر آپلود شده کمک می کند؟
سوالات و پاسخهای بیشتر را در EITC/AI/GVAPI Google Vision API مشاهده کنید