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

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

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

الدرس: تطوير وظائف رؤية الحاسب للطائرة المسيرة

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

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

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

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

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

📝 ملخص الصفحة

تتناول هذه الصفحة خطوات تطوير وظائف رؤية الحاسب للطائرة المسيرة، مع التركيز على تحسين الكفاءة الحاسوبية وتنظيم البيانات. أولاً، يتم إضافة مؤقت زمني لتنفيذ عمليات التقاط الصور ومعالجتها كل خمس ثوانٍ فقط، بدلاً من كل إطار محاكاة، مما يقلل التكلفة الحاسوبية ويستخدم المتغيرات t1 و t2 لتتبع الفواصل الزمنية.

ثانياً، يتم إنشاء مجلد لحفظ الصور الملتقطة التي يتم فيها اكتشاف الشخوص البشرية، كجزء من أرشيف المراقبة الأمنية. يستخدم البرنامج دوال مثل getcwd و path.join لاسترداد مسار دليل العمل الحالي وربطه باسم المجلد الجديد، مع التحقق من وجود المجلد مسبقاً وإنشائه إذا لزم الأمر.

ثالثاً، يتم معالجة الصور بعد استردادها من الكاميرا، حيث تحدث هذه العملية كل خمس ثوانٍ بناءً على الشرط الزمني. يتضمن ذلك قراءة الصورة كمصفوفة من الكاميرا باستخدام camera.getImageArray()، استعداداً للكشف عن الشخوص البشرية في الخطوات التالية.

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

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

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

لنستعرض التغييرات التي ستجريها لإضافة وظائف رؤية الحاسب للطائرة المسيرة.

إضافة المؤقت

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

إضافة المؤقت Adding a Timer

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

يمكن أن يكون التقاط صورة ومعالجتها مكلفًا من الناحية الحاسوبية إذا حُسب لكل إطار من إطارات المحاكاة. ولذلك سنضيف مؤقتًا زمنياً لاستخدامه؛ لتنفيذ هذه الإجراءات كل خمس ثوانٍ فقط.

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

# time intervals used for adjustments in order to reach the target altitude t1 = self.getTime() # time intervals between each detection for human figures t2 = self.getTime()

إنشاء مجلد

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

إنشاء مجلد Creating a Folder

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

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

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

أولاً: عليك أن تستخدم الدالة ()getcwd لتسترد مسار دليل العمل الحالي لبرنامج المتحكم (وهو المجلد الذي يتضمن برنامج المتحكم) حتى يتعرف البرنامج على المكان الذي يضع فيه المجلد الجديد باسم: (تم الاكتشاف). بحيث تستخدم الدالة ()path.join لربط اسم المسار بسلسلة اسم المجلد النصية. وتتمثل الخطوة الأخيرة في التحقق مما إذا كان المجلد موجودًا بالفعل أم لا، وفي تلك الحالة يتم إنشاء مجلد جديد.

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

# gets the current working directory cwd = os.getcwd() # sets the name of the folder where the images # with detected humans will be stored folder_name = "detected" # joins the current working directory and the new folder name folder_path = os.path.join(cwd, folder_name) if not os.path.exists(folder_path): # creates the folder if it doesn't exist already os.makedirs(folder_path) print(f"Folder \"\detected\" created!") else: print(f"Folder \"\detected\" already exists!")

معالجة الصورة

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

معالجة الصورة Image Processing

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

في هذا التوقيت يمكنك الآن استرداد (قراءة) الصورة من الجهاز لمعالجتها قبل محاولة الكشف. لاحظ أن كل ما يتعلق بمعالجة الصورة وصولاً إلى حفظها يحدث كل خمس ثوانٍ فقط، كما هو مبين في الشرط self.getTime() - t2 > 5.0.

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

# initiates the image processing and detection routine every 5 seconds if self.getTime() - t2 > 5.0: # retrieves image array from camera cameraImg = self.camera.getImageArray()

نوع: METADATA

وزارة التعليم

نوع: METADATA

329

نوع: METADATA

2025 - 1447

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

لنستعرض التغييرات التي ستجريها لإضافة وظائف رؤية الحاسب للطائرة المسيرة.--- SECTION: إضافة المؤقت --- إضافة المؤقت Adding a Timerيمكن أن يكون التقاط صورة ومعالجتها مكلفًا من الناحية الحاسوبية إذا حُسب لكل إطار من إطارات المحاكاة. ولذلك سنضيف مؤقتًا زمنياً لاستخدامه؛ لتنفيذ هذه الإجراءات كل خمس ثوانٍ فقط.# time intervals used for adjustments in order to reach the target altitude t1 = self.getTime() # time intervals between each detection for human figures t2 = self.getTime()--- SECTION: إنشاء مجلد --- إنشاء مجلد Creating a Folderسيتم حفظ الصور الملتقطة التي يتم فيها اكتشاف الشخوص البشرية في مجلد، حيث يُعد جزءًا من أرشيف المراقبة الأمنية الذي سيساعد على فحص الصور في المستقبل.أولاً: عليك أن تستخدم الدالة ()getcwd لتسترد مسار دليل العمل الحالي لبرنامج المتحكم (وهو المجلد الذي يتضمن برنامج المتحكم) حتى يتعرف البرنامج على المكان الذي يضع فيه المجلد الجديد باسم: (تم الاكتشاف). بحيث تستخدم الدالة ()path.join لربط اسم المسار بسلسلة اسم المجلد النصية. وتتمثل الخطوة الأخيرة في التحقق مما إذا كان المجلد موجودًا بالفعل أم لا، وفي تلك الحالة يتم إنشاء مجلد جديد.# gets the current working directory cwd = os.getcwd() # sets the name of the folder where the images # with detected humans will be stored folder_name = "detected" # joins the current working directory and the new folder name folder_path = os.path.join(cwd, folder_name)if not os.path.exists(folder_path): # creates the folder if it doesn't exist already os.makedirs(folder_path) print(f"Folder \"\detected\" created!") else: print(f"Folder \"\detected\" already exists!")--- SECTION: معالجة الصورة --- معالجة الصورة Image Processingفي هذا التوقيت يمكنك الآن استرداد (قراءة) الصورة من الجهاز لمعالجتها قبل محاولة الكشف. لاحظ أن كل ما يتعلق بمعالجة الصورة وصولاً إلى حفظها يحدث كل خمس ثوانٍ فقط، كما هو مبين في الشرط self.getTime() - t2 > 5.0.# initiates the image processing and detection routine every 5 seconds if self.getTime() - t2 > 5.0: # retrieves image array from camera cameraImg = self.camera.getImageArray()2025 - 1447

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

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

لماذا يُضاف مؤقت زمني عند التقاط الصور ومعالجتها في نظام الطائرة المسيرة؟

الإجابة: يُضاف المؤقت الزمني لتجنب التكلفة الحاسوبية العالية التي قد تنتج عن معالجة كل إطار من إطارات المحاكاة. بدلاً من ذلك، يتم تنفيذ الإجراءات كل خمس ثوانٍ فقط.

الشرح: التقاط ومعالجة الصور لكل إطار في المحاكاة يستهلك الكثير من موارد المعالجة. المؤقت يقلل هذا العبء عن طريق تحديد فترات زمنية منتظمة لتنفيذ هذه المهام، مما يجعل النظام أكثر كفاءة.

تلميح: ما هي المشكلة التي يحاول المؤقت حلها عند التعامل مع كل صورة؟

ما هي وظيفة مجلد "detected" في نظام الطائرة المسيرة؟

الإجابة: يُستخدم مجلد "detected" لحفظ الصور التي يتم فيها اكتشاف الشخوص البشرية. يعتبر هذا المجلد جزءًا من أرشيف المراقبة الأمنية الذي يساعد في فحص الصور لاحقًا.

الشرح: الحاجة إلى الاحتفاظ بسجل للصور التي تم فيها اكتشاف أفراد هي جزء أساسي من مهام المراقبة الأمنية. إنشاء مجلد مخصص لهذه الصور يسهل تنظيمها والوصول إليها عند الحاجة.

تلميح: فكر في الغرض من حفظ الصور التي تظهر فيها أشخاص.

اشرح الخطوات الأساسية لإنشاء مجلد لحفظ الصور المكتشفة باستخدام بايثون.

الإجابة: تتضمن الخطوات استخدام الدالة `os.getcwd()` لاسترداد دليل العمل الحالي، ثم استخدام `os.path.join()` لربط المسار الحالي مع اسم المجلد الجديد ("detected"). أخيراً، يتم التحقق من وجود المجلد باستخدام `os.path.exists()`، وفي حال عدم وجوده، يتم إنشاؤه باستخدام `os.makedirs()`.

الشرح: الوحدة `os` في بايثون توفر وظائف للتعامل مع نظام التشغيل، بما في ذلك إدارة الملفات والمجلدات. `getcwd` لجلب المسار الحالي، `path.join` لإنشاء مسار صحيح، و`path.exists` و`makedirs` لإنشاء المجلد.

تلميح: ما هي الوحدات البرمجية في بايثون التي تتعامل مع نظام الملفات؟

ما هو الشرط المستخدم لتنفيذ معالجة الصورة والكشف عن الشخوص كل خمس ثوانٍ؟

الإجابة: الشرط المستخدم هو `self.getTime() - t2 > 5.0`، حيث `t2` يمثل الوقت السابق الذي تم فيه الكشف، و`self.getTime()` يمثل الوقت الحالي. هذا الشرط يتحقق مما إذا كان قد مر أكثر من خمس ثوانٍ منذ آخر عملية كشف.

الشرح: يتم استخدام متغير داخلي (`t2`) لتخزين الوقت الذي تمت فيه آخر عملية معالجة. بمقارنة الوقت الحالي (`self.getTime()`) مع هذا المتغير، يمكن تحديد ما إذا كان الفاصل الزمني المحدد (5 ثوانٍ) قد انقضى، مما يستدعي بدء عملية معالجة جديدة.

تلميح: فكر في كيفية حساب الفرق الزمني بين حدثين متتابعين.

ما هي الخطوة الأولى التي تتم بعد التأكد من انقضاء المدة الزمنية المطلوبة لمعالجة الصورة؟

الإجابة: الخطوة الأولى هي استرداد مصفوفة الصورة من الكاميرا باستخدام الدالة `self.camera.getImageArray()`.

الشرح: بعد التأكد من أن الوقت مناسب لإجراء عملية الكشف (وفقاً للمؤقت)، فإن أول إجراء فعلي هو الحصول على بيانات الصورة الخام من مصدرها (الكاميرا) لتتمكن الخوارزميات اللاحقة من معالجتها.

تلميح: قبل معالجة الصورة، ماذا تحتاج أن تفعل أولاً؟