يتم إعطاؤك مقتطف رمز يحتوي على وظيفة `load_train_image(pet_id)`. تأخذ هذه الوظيفة وسيطة `pet_id` وتنفذ عمليات معالجة صور متنوعة على صورة تم تحميلها من ملف.

مهمتك هي إكمال مقتطف الشفرة من خلال تنفيذ الوظيفة المفقودة `resize_to_square(image)`. يجب أن تقوم هذه الوظيفة بتغيير حجم الصورة المحددة إلى شكل مربع وإرجاع الصورة التي تم تغيير حجمها.

الخطوات الواجب اتباعها في الدالة `resize_to_square()` هي كما يلي:
1. احسب النسبة بين حجم الصورة المطلوب (`img_size`) والحد الأقصى لبعد الصورة الأصلية (`max(old_size)`).
2. احسب الحجم الجديد للصورة عن طريق ضرب النسبة بكل بعد من أبعاد الصورة الأصلية ('الحجم_القديم') وتقريب النتيجة إلى أقرب عدد صحيح.
3. قم بتغيير حجم الصورة الأصلية (`im`) إلى الحجم الجديد باستخدام وظيفة OpenCV `cv2.resize()`.
4. احسب الفرق بين حجم الصورة المطلوب (`img_size`) والحجم الجديد للصورة التي تم تغيير حجمها (`new_size`) في كل بُعد.
5. حدد الحدود العلوية والسفلية واليسرى واليمنى المراد إضافتها إلى الصورة التي تم تغيير حجمها. يجب أن تعادل هذه الحدود أبعاد الصورة التي تم تغيير حجمها مع حجم الصورة المطلوب. يجب أن يكون للحدود العلوية والسفلية نفس الارتفاع، بينما يجب أن يكون للحدود اليمنى واليسرى نفس العرض.
6. قم بإنشاء صورة جديدة (`new_im`) عن طريق إضافة الحدود إلى الصورة التي تم تغيير حجمها باستخدام وظيفة OpenCV `cv2.copyMakeBorder()`، مع ضبط لون بيكسلات الحدود إلى اللون الأسود (`[0, 0, 0]` ).

تحتاج إلى تنفيذ وظيفة `resize_to_square(image)` المفقودة باتباع الخطوات المذكورة أعلاه.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}