تقرير الطائرة المسيرة وحفظ الصور المكتشفة - كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: تقرير الطائرة المسيرة وحفظ الصور المكتشفة

📚 معلومات الصفحة

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

الفصل: 6

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

يشرح هذا الدرس الإضافة النهائية لبرنامج المتحكم في الطائرة المسيرة، والذي يتضمن نظام تقرير بسيط يطبع رسالة على وحدة التحكم عند اكتشاف شكل بشري، مع حفظ الصورة في مجلد مخصص. يتم استخدام المستطيلات الإطارية لتحديد البشر في الصور، حيث تُعرّف هذه المستطيلات بأربعة متغيرات: (x, y) للإحداثيات في الزاوية العليا اليسرى، و(w, h) للعرض والارتفاع.

يتم رسم المستطيلات باللون الأزرق باستخدام دالة rectangle في OpenCV، مع عرض ثابت يساوي 2. كما يتضمن النظام استرجاع التاريخ والوقت الحاليين باستخدام دالة datetime.now، وطباعتهما على وحدة التحكم مع إحداثيات الطائرة المسيرة في وقت التقرير.

يتم تعديل تنسيق التاريخ والوقت بإضافة الشرطات العلوية والسفلية لاستخدامها كجزء من اسم الملف المحفوظ، ثم حفظ الصورة في المجلد باستخدام دالة imwrite. يوضح الشكل 6.20 متغيرات المستطيل المستخدم في تحديد الأشياء المكتشفة، مما يساعد في فهم نظام الإحداثيات والأبعاد في معالجة الصور.

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

تقرير الطائرة المسيرة وحفظ الصور المكتشفة

نوع: METADATA

تقرير الطائرة المسيرة وحفظ الصور المكتشفة

Drone Report and Saving of the Detected Images

نوع: METADATA

Drone Report and Saving of the Detected Images

نوع: محتوى تعليمي

الإضافة النهائية لبرنامج المتحكم الخاص بك هو نظام تقرير بسيط تقدمه الطائرة المسيرة عن طريق طباعة رسالة على وحدة التحكم (Console) عند اكتشاف شكل بشري، وحفظ الصورة في المجلد الذي أنشأته من قبل. يقوم المتغير humans (البشر) بحمل المستطيلات الإطارية التي يكتشف البشر بداخلها في حال عثر عليهم. تُعرف المستطيلات بواسطة أربعة متغيرات: وهي الزوج x و y اللذان يمثلان الإحداثيين اللذين في الصورة وذلك في الزاوية العليا من الجهة اليسرى للمستطيل. وكذلك الزوج w و h، الذي يمثل عرض المستطيل وارتفاعه. في جميع الاكتشافات الموجودة في الصورة تحدد الدالة ( )rectangle البشر بمستطيل أزرق، حيث تنظر الدالة إلى متغيرات الصورة على أنها تتمثل في الزاوية اليسرى العلوية (x,y) والزاوية اليمنى السفلية (x+w, y+h) من المستطيل. ولون المستطيل وعرضه، وفي الصورة الموضحة تلاحظ أن لون المستطيل أزرق (0=B=255, G=0, R) وعرضه 2.

شكل 6.20: متغيرات المستطيل

نوع: FIGURE_REFERENCE

شكل 6.20: متغيرات المستطيل

نوع: محتوى تعليمي

سيقوم نظام التقرير باسترجاع التاريخ والوقت الحاليين باستخدام الدالة ( )datetime.now وطباعتها على وحدة التحكم، بالإضافة إلى إحداثيات الطائرة المسيرة في وقت التقرير، ويتم تعديل تنسيق التاريخ والوقت بطريقة بسيطة عن طريق إدراج الشرطات العلوية (-) والشرطات السفلية (_) لاستخدامها كجزء من اسم الملف المحفوظ، ثم يتم حفظها في المجلد باستخدام الدالة ( )imwrite. وعند اكتمال كل شيء تقوم الدالة ( )getTime بإعادة ضبط المؤقت.

نوع: محتوى تعليمي

# loop, through detected human images, annotates them with a bounding box # and prints a timestamp and an info message on the console for (x, y, w, h) in humans: # the image, the top left corner, the bottom right corner, color and width of the rectangle cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2) current_time = datetime.now() print(current_time) print("Found a person in coordinates [{:.2f}, {:.2f}]" .format(x_pos, y_pos)) # saves annotated image to file with timestamp current_time = current_time.strftime("%Y-%m-%d_%H-%M-%S") filename = f"detected/IMAGE_{current_time}.png" cv2.imwrite(filename, img) t2 = self.getTime()

نوع: محتوى تعليمي

في السلسلة النصية، يتم استخدام الترميز {: .2f} كاختصار لعدد حقيقي (floating number) ذي خانتين عشريتين، وهنا يتم استخدام الاختصارين للمتغيرين x_pos و y_pos.

نوع: METADATA

وزارة التعليم Ministry of Education 2023 - 1447

نوع: METADATA

332

🔍 عناصر مرئية

شكل 6.20: متغيرات المستطيل

A 3D diagram illustrating the parameters of a bounding box used in image processing. It shows a human figure standing on a textured ground, enclosed within a blue rectangular bounding box. The top-left corner of the bounding box is labeled (x, y), and the bottom-right corner is labeled (x+w, y+h). The width of the box is indicated by 'w' at the bottom, and its height by 'h' on the left side. These labels visually represent the coordinate system and dimensions for detecting objects.

📄 النص الكامل للصفحة

--- SECTION: تقرير الطائرة المسيرة وحفظ الصور المكتشفة --- تقرير الطائرة المسيرة وحفظ الصور المكتشفة--- SECTION: Drone Report and Saving of the Detected Images --- Drone Report and Saving of the Detected Imagesالإضافة النهائية لبرنامج المتحكم الخاص بك هو نظام تقرير بسيط تقدمه الطائرة المسيرة عن طريق طباعة رسالة على وحدة التحكم (Console) عند اكتشاف شكل بشري، وحفظ الصورة في المجلد الذي أنشأته من قبل. يقوم المتغير humans (البشر) بحمل المستطيلات الإطارية التي يكتشف البشر بداخلها في حال عثر عليهم. تُعرف المستطيلات بواسطة أربعة متغيرات: وهي الزوج x و y اللذان يمثلان الإحداثيين اللذين في الصورة وذلك في الزاوية العليا من الجهة اليسرى للمستطيل. وكذلك الزوج w و h، الذي يمثل عرض المستطيل وارتفاعه. في جميع الاكتشافات الموجودة في الصورة تحدد الدالة ( )rectangle البشر بمستطيل أزرق، حيث تنظر الدالة إلى متغيرات الصورة على أنها تتمثل في الزاوية اليسرى العلوية (x,y) والزاوية اليمنى السفلية (x+w, y+h) من المستطيل. ولون المستطيل وعرضه، وفي الصورة الموضحة تلاحظ أن لون المستطيل أزرق (0=B=255, G=0, R) وعرضه 2.--- SECTION: شكل 6.20: متغيرات المستطيل --- شكل 6.20: متغيرات المستطيل سيقوم نظام التقرير باسترجاع التاريخ والوقت الحاليين باستخدام الدالة ( )datetime.now وطباعتها على وحدة التحكم، بالإضافة إلى إحداثيات الطائرة المسيرة في وقت التقرير، ويتم تعديل تنسيق التاريخ والوقت بطريقة بسيطة عن طريق إدراج الشرطات العلوية (-) والشرطات السفلية (_) لاستخدامها كجزء من اسم الملف المحفوظ، ثم يتم حفظها في المجلد باستخدام الدالة ( )imwrite. وعند اكتمال كل شيء تقوم الدالة ( )getTime بإعادة ضبط المؤقت.# loop, through detected human images, annotates them with a bounding box # and prints a timestamp and an info message on the console for (x, y, w, h) in humans:# the image, the top left corner, the bottom right corner, color and width of the rectangle cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2) current_time = datetime.now() print(current_time) print("Found a person in coordinates [{:.2f}, {:.2f}]" .format(x_pos, y_pos))# saves annotated image to file with timestamp current_time = current_time.strftime("%Y-%m-%d_%H-%M-%S") filename = f"detected/IMAGE_{current_time}.png" cv2.imwrite(filename, img)t2 = self.getTime()في السلسلة النصية، يتم استخدام الترميز {: .2f} كاختصار لعدد حقيقي (floating number) ذي خانتين عشريتين، وهنا يتم استخدام الاختصارين للمتغيرين x_pos و y_pos.2023 - 1447--- VISUAL CONTEXT --- **DIAGRAM**: شكل 6.20: متغيرات المستطيل Description: A 3D diagram illustrating the parameters of a bounding box used in image processing. It shows a human figure standing on a textured ground, enclosed within a blue rectangular bounding box. The top-left corner of the bounding box is labeled (x, y), and the bottom-right corner is labeled (x+w, y+h). The width of the box is indicated by 'w' at the bottom, and its height by 'h' on the left side. These labels visually represent the coordinate system and dimensions for detecting objects. Data: The diagram illustrates the (x, y) coordinates for the top-left corner, and (x+w, y+h) for the bottom-right corner of a bounding box. It also shows the width (w) and height (h) of the box, which are crucial parameters for defining the size and position of a detected object. Key Values: x, y, w, h, x+w, y+h Context: This diagram visually explains the (x, y, w, h) parameters that define a bounding box around a detected object, such as a human, as discussed in the accompanying text about drone image processing and object detection. It helps in understanding how objects are localized and measured in images.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 5 بطاقة لهذه الصفحة

ما هي المتغيرات الأربعة التي تُعرف المستطيل الإطاري عند اكتشاف البشر؟

الإجابة: المتغيرات الأربعة هي: الزوج (x, y) اللذان يمثلان إحداثيي الزاوية العليا اليسرى للمستطيل، والزوج (w, h) اللذان يمثلان عرض المستطيل وارتفاعه.

الشرح: لتحديد مستطيل في صورة، نحتاج إلى نقطة بداية (الزاوية العليا اليسرى) وأبعاد (العرض والارتفاع). هذه هي المتغيرات (x, y, w, h).

تلميح: فكر في الأبعاد التي تحدد موقع وحجم أي شكل هندسي.

ما هي وظيفة المتغير 'humans' في سياق تقرير الطائرة المسيرة؟

الإجابة: المتغير 'humans' يحمل المستطيلات الإطارية التي يتم اكتشاف البشر بداخلها في حال تم العثور عليهم في الصورة.

الشرح: اسم المتغير 'humans' يشير إلى أنه سيحتوي على معلومات تتعلق بالبشر المكتشفين. في هذا السياق، تخزن المستطيلات الإطارية التي تحدد مواقعهم.

تلميح: ما هو نوع البيانات التي يتوقع أن يخزنها متغير اسمه 'humans' عند اكتشاف أشكال بشرية؟

كيف تحدد دالة rectangle البشر بمستطيل أزرق في الصورة؟

الإجابة: تنظر الدالة إلى متغيرات الصورة وتمثلها بالزاوية اليسرى العلوية (x,y) والزاوية اليمنى السفلية (x+w, y+h) للمستطيل، وتلون المستطيل باللون الأزرق (B=255, G=0, R=0) بعرض 2.

الشرح: الدالة تستخدم الإحداثيات (x,y) كنقطة بداية، وتضيف إليها العرض (w) والارتفاع (h) لتحديد إحداثيات الزاوية اليمنى السفلية (x+w, y+h). اللون الأزرق وعرض 2 هي خصائص بصرية إضافية تم تحديدها.

تلميح: كيف يمكن تحديد الزاوية اليمنى السفلية إذا كنت تعرف الزاوية اليسرى العلوية والأبعاد؟

كيف يتم تنسيق التاريخ والوقت الحاليين ليتم استخدامهما في اسم ملف الصورة المحفوظة؟

الإجابة: يتم استرجاع التاريخ والوقت الحاليين باستخدام الدالة datetime.now، ثم يتم تعديل تنسيقهما بإدراج الشرطات العلوية (-) والشرطات السفلية (_) لاستخدامهما كجزء من اسم الملف.

الشرح: استخدام تنسيق مثل YYYY-MM-DD_HH-MM-SS يسمح بإنشاء أسماء ملفات فريدة ومنظمة، حيث يتم استبدال فواصل التاريخ والوقت القياسية بعلامات مقبولة في أسماء الملفات.

تلميح: فكر في كيفية جعل التاريخ والوقت مناسبين للاستخدام في أسماء الملفات، مع تجنب الرموز التي قد تسبب مشاكل.

ما هو الغرض من استخدام الترميز {: .2f} في طباعة إحداثيات اكتشاف البشر؟

الإجابة: الغرض من استخدام الترميز {: .2f} هو اختصار لعدد حقيقي (floating number) ذي خانتين عشريتين، ويستخدم لعرض قيم المتغيرين x_pos و y_pos بدقة محدودة.

الشرح: هذا الترميز يتحكم في كيفية عرض الأعداد العشرية، حيث يضمن أن يتم عرض قيم x_pos و y_pos كأرقام عشرية تحتوي على خانتين فقط بعد الفاصلة، مما يجعل الإخراج أكثر تنظيمًا وقابلية للقراءة.

تلميح: عندما ترى .2f في تنسيق السلاسل النصية، ماذا يعني ذلك بالنسبة للأرقام العشرية؟