> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/arabic/msharya-nmwthjyh/object-counting.md).

# عدّ الأجسام

يُعدّ عدّ الأشياء مسألة شائعة في مجال رؤية الحاسوب. في هذا الدرس ستتعلم كيف تعدّ الأشكال الدائرية داخل منطقة معيّنة باستخدام خوارزميات رؤية حاسوب تقليدية.

صورة المثال موجودة بالفعل في AugeLab Studio داخل مجلد صور الأمثلة باسم **coins2.jpg**.

قم بإنشاء بلوك [Load Image](/arabic/alblwkat-alwzyfyh/blocks-reference/input-output/image-inputs/load-image.md) في سيناريو فارغ وحمّل صورة المثال كما في الشكل أدناه:

!\[]\(.assets/gitbook/image (75).png)

أول خطوة هي فصل العملات عن الخلفية باستخدام بلوك [Image Threshold](/arabic/alblwkat-alwzyfyh/blocks-reference/image-transformations/color-filters/image-threshold.md). يمكن أيضاً القيام بذلك باستخدام [HSV Filter](/arabic/alblwkat-alwzyfyh/blocks-reference/image-transformations/color-filters/hsv-filter.md) أو [RGB Mask](/arabic/alblwkat-alwzyfyh/blocks-reference/image-transformations/color-filters/rgb-mask.md)، لكن فصل المناطق اللونية والحصول على صورة ثنائية (binary) يكفي هنا. أنشئ المنطق كما في الشكل التالي:

!\[]\(.assets/gitbook/image (76).png)

سنستخدم لاحقاً بلوك [Find Contour](/arabic/alblwkat-alwzyfyh/blocks-reference/detections-shapes/shape-analysis/find-contour.md) لعدّ المناطق البيضاء المتميزة، لذلك نختار خيار **THRESH\_BINARY\_INV** ونعدّل شريط التمرير (slider) لتصنيف الخلفية.

قد تلاحظ أن المناطق البيضاء ليست مفصولة تماماً عن بعضها. استخدام Find Contour في هذه الحالة سيعطي نتيجة خاطئة:

!\[]\(.assets/gitbook/image (77).png)

كما ترى، لا يوجد 14 عملة في الصورة المقدمة. نحتاج لخوارزمية تفصل أو تقلص المناطق البيضاء المتلاصقة. لهذا سنستخدم بلوك [Distance Transformation](/arabic/alblwkat-alwzyfyh/blocks-reference/image-transformations/transformation-filters/distance-transformation.md):

!\[]\(.assets/gitbook/image (78).png)

تحويل المسافة (Distance Transformation) يحسب كم يبعد كل بيكسل عن مركز الكتلة البيضاء. بعد ذلك، استخدام [Image Threshold](/arabic/alblwkat-alwzyfyh/blocks-reference/image-transformations/color-filters/image-threshold.md) مرة أخرى سيؤدي إلى الحصول على مناطق بيضاء منفصلة لكل عملة:

!\[]\(.assets/gitbook/image (79).png)

الآن، استخدام بلوك Find Contour سيعطي عدد العملات الموجودة في صورة المرجع:

!\[]\(.assets/gitbook/image (80).png)

انتهى! بهذا تعرفت على طريقة عدّ كل عنصر داخل منطقة معينة باستخدام أدوات AugeLab Studio.
