| فایل اولیهی پروژه را میتوانید از [این لینک](/contest/assignments/84378/download_problem_initial_project/306357/) دانلود کنید.|
| :--: |
در این بخش از مسابقه، قرار است مجموعهای از کارتپستالهای زیبا از نقاط مختلف ایران بسازیم. ما تصاویری از مکانهای دیدنی شهرهایی مانند تهران، اصفهان، کاشان و... گردآوری کردهایم. حالا نوبت شماست که روی هر تصویر، نام شهر مربوطه را درج کنید.
البته این کار به سادگی که به نظر میرسد نیست! وظیفه شما این است که نام هر شهر را به شکل **watermark** روی تصویر مربوط به یکی از مکانهای آن شهر قرار دهید.
در ادامه، ساختار فایلها و جزئیات پیادهسازی این بخش از مسابقه توضیح داده خواهد شد.

-----------------
## واترماک
**واترمارکینگ (Watermarking)** یک تکنیک برای **جاسازی اطلاعات دیجیتال** (مانند لوگو، متن یا شناسه) در یک تصویر است، به گونهای که این اطلاعات به صورت آشکار یا پنهان بخشی از تصویر شوند.
در این فرآیند معمولاً دو تصویر نقش اصلی دارند:
+ **تصویر پیام (Message)**: محتوای دیجیتالی که باید در تصویر جاسازی شود، مانند یک لوگو یا متن.
+ **تصویر کاور (Cover)**: تصویر اصلی که قرار است پیام در آن مخفی یا درج شود.
در مثال زیر، سه تصویر اصلی در فرآیند واترمارکینگ معرفی میشوند: تصویر پیام، تصویر کاور و تصویر واترمارکشده که حاصل ترکیب پیام با کاور است.

-----------------
## پیکربندی فایلها
در این بخش از مسابقه، سه دسته فایل در اختیار شما قرار دارد. این فایلها در پوشه `Data` قرار دارند که جز فایلهای اولیه این سوال میباشد.
+ **پوشه Cover**: سه تصویر اصلی که در پوشه `Cover` قرار گرفتهاند.
+ **پوشه Message**: سه تصویر حاوی محتوای متنی یا گرافیکی که باید روی کاورها درج شوند. این تصاویر در پوشه `Message` موجود هستند.
+ **پوشه Watermark**: نتیجه ترکیب هر تصویر پیام با تصویر کاور متناظر آن، که در پوشه `Watermark` قرار دارد.
توجه داشته باشید که اندازه هر سه تصویر کاور، پیام و واترمارک باید یکسان باشد. در ساختار فایلهای ارائه شده نیز این موضوع رعایت شده است؛ یعنی هر سه تصویر پیام، کاور و واترمارک متناظر، دقیقاً دارای ابعاد برابر هستند. از تصاویر موجود در پوشه `watermark` استفاده کنید تا بتوانید راهحل خود را ارزیابی کنید. دقت کنید هر چه نتیجه واترمارک شما به تصاویر این پوشه شباهت بیشتری داشته باشد، کیفیت راهحل شما بالاتر خواهد بود.
--------------------
## معیار ارزیابی
برای ارزیابی مدل شما از معیار `SSIM Score` استفاده میشود. برای نمرهگیری در این سوال مدل شما باید دارای `SSIM` حداقل ۰.۸ باشد و در این حالت نمرهی نهایی بر اساس فرمول زیر محاسبه میگردد:
$$round(SSIM, 3) \times 100$$
اگر مدل شما به حدنصاب نرسد، نمرهی دریافتی **صفر** خواهد بود.
<details class="yellow">
<summary>
**شاخص SSIM**
</summary>
**شاخص شباهت ساختاری (Structural Similarity Index Measure یا SSIM)** یک معیار پیشرفته برای مقایسه شباهت بین دو تصویر است. **SSIM** ساختار کلی تصویر را هم در نظر میگیرد و تلاش میکند شباهت را به گونهای اندازهگیری کند که با درک بینایی انسان همخوانتر باشد.
این مقدار عددی بین $1-0$ است که به شکل زیر تفسیر میشود:
+ مقدار $1$ نشاندهنده **تشابه کامل** است.
+ مقدار نزدیک به $0$ یا کمتر از آن نشاندهنده **تفاوت زیاد** است.
</details>
---------------
## نحوهی ارسال پاسخ
شما باید پاسخ خود را به صورت یک تابع پایتونی ارائه دهید. ابتدا یک فایل پایتونی با نام `watermark.py` ایجاد کنید. سپس در این فایل، تابعی به نام `apply_watermark` پیادهسازی کنید که دو ورودی میگیرد: نام فایل تصویر کاور و نام فایل تصویر پیام.
نمونه اعمال و استفاده از تابع به شرح مثال زیر میباشد:
```python
result_image = apply_watermark(cover_name='cover_Isfahan.jpg', message_name='message_Isfahan.jpg')
```
خروجی این تابع یک تصویر **خاکستری** خواهد بود که نتیجه اعمال واترمارک بین تصویر کاور و پیام است.
در نهایت فایل `watermark.py` را در کوئرا آپلود کنید.