فایلهای نمونه را میتوانید از این لینک دانلود کنید. |
---|
در دنیای دیجیتال، شهری به نام "نورسیتی" وجود داشت؛ شهری پر از نورهای رنگی که هر قسمت آن با رنگهای خاص خود مشخص شده بود. هوش مصنوعی رنگیننگار، که همه چیز را کنترل میکرد، مراقب بود که رنگها در جای درست خود قرار بگیرند.
اما یک روز، یک ویروس دیجیتالی سایهخوار به سیستم حمله کرد! این ویروس خطرناک تمام رنگهای شهر را بلعید و چیزی جز یک پسزمینهی سیاه از آن باقی نگذاشت. تنها چیزهایی که از شهر باقی ماندهاند، مستطیلها و مربعهایی با رنگهای قرمز، سبز، آبی، زرد، بنفش (ارغوانی) و خاکستری هستند که توسط ویروس بهطور تصادفی تولید شدهاند!
به عنوان "ماهانِ محاسباتی"، نابغهی ریاضی و برنامهنویسی، مأموریت شما این است که اطلاعات این اشکال را جمعآوری کرده و کمک کنید که شهر از نو ساخته شود. برای این کار باید برای هر شکل مساحت آن را (بر حسب تعداد پیکسل) محاسبه کنید. اما ویروس سایهخوار به شکلی عجیب کدگذاری شده است:
در نهایت شما باید مجموع مساحتها را (با توجه به تغییرات فوق) برای هر رنگ محاسبه کنید.
شما باید یک فایل پایتونی با نام calculate_area.py
بسازید که درون آن یک تابع با نام calculate_area
پیادهسازی شده است.
ورودی این تابع یک تصویر است (دقت کنید که منظور خود تصویر است که با استفاده از OpenCv
به صورت رنگی خوانده شده و به تابع شما ورودی داده میشود) که شامل اشکال مستطیلی و مربعی که هر کدام دارای رنگ مشخصی هستند. پسزمینهی تصویر همیشه سیاه است.
خروجی این تابع نیز یک رشته است که به فرمت کلی زیر میباشد:
توجه کنید که در این سوال تنها مجاز به استفاده از numpy
و openCV
هستید .
![]() |
---|
نمونهای از تصاویر ورودی |