هل فكرت كيف يستطيع موقع الـ Facebook أن يحلل الصور ويعرف اﻷشخاص الموجودين داخل كل صورة ! كيف يستطيع “الرادار” التعرف على السيارات المخالفة للسرعة بصورة تلقائية!
كل هذه اﻷشياء وأكثر تتم عبر تقنيات الرؤية الحاسوبية computer vision وعلم معالجة الصور الرقمية Image Processing، في هذا الكتاب سنخوض رحلة شيقة لتعلم تقنيات المعالجة الرقمية للصور من خلال مكتبة OpenCV عبر لغة البرمجة بايثون وذلك من خلال كتاب Simply OpenCV. الكتاب يبدأ من الصفر ولا يفترض وجود أن متطلبات أو خبرات سابقة لديك في هذا المجال (سوى بعض اساسيات البرمجة مثل الجمل الشرطية والتكرارية..الخ).
الكتاب من تأليف م. خالد الدبش ومنشور تحت رخصة المشاع اﻹبداعي Creative Common
محتوى الكتاب
الفصل الأول سنعلم كيفية التعامل مع الصور والفيديو لنستفيد من ذلك في معالجة الصورة كما سيمر معنا في الفصول القادمة وسنتعلم أيضا كيفية الرسم على أي صورة فعلى سبيل المثال نرسم دائرة مثلا حول الوجه المطلوب التعرف عليه. أما بالنسبة لفقرة استخدم الفأرة كأداة للرسم يمكنك الاستفادة منها في جعل الروبوت يتوجه نحو المكان الذي تشير اليه بالفأرة.
الفصل الثاني سنعلم كيفية التعامل مع كل بيكسل في الصورة أو أي منطقة محددة نختارها نحن بدلا من التعامل مع كامل الصورة، وسنتعلم كيفية دمج صورتين معا وكيفية تغيير الشفافية، وكيف نحسب الزمن المستغرق لتنفيذ عملية المعالجة على صورة معينة ونستفيد من ذلك في تحسين الأداء والسرعة.
الفصل الثالث سنتعرف على فضاءات الصورة المختلفة وكيف نستفيد من هذه الخاصية في تعقب لون جسم معين ككرة مثلا. وسنتعرف على عملية هامة تدعى بالتعتيب (thresholding) حيث سنستخدمها بكثرة في الفصول القادمة. وسنعلم أيضا كيفية اجراء التحويلات الهندسية المختلفة على الصورة وكيف نقوم بتحسين الصورة أو طمس جزء معين منها وسنعرف أيضا على عمليات المعالجة التي تتم على الاشكال كالتمديد والفتح والإغلاق، وكي نكتشف الحواف لأي جسم عن طريق عدة مكتشفات للحواف ويمكن الاستفادة من مكتشفات الحواف على سبيل المثال في تمييز العظام عن الانسجة عن غيرها في الصور الشعاعية. وسنعلم طريقة تمييز الدوائر والخطوط في الصورة وكيفية استخراج جسم معين وفصله عن الخلفية المتواجد فيها.
الفصل الرابع سنتعلم كيفية إيجاد أي إطار في الصورة وكيف نحدده والتي سنستفيد منها في رسم حدود للشكل وإجراء العمليات الحسابية عليه كحساب مساحة هذا الإطار، وسنتعرف أيضا على خاصية تقريب الإطار وغلاف التحدب والتي يمكن الاستفادة منها في التعرف على حركة اليد واستخدامها لتنفيذ عدة أوامر كالتقاط صورة عند القيام بحركة معينة في اليد كما في بعض الجوالات الحديثة. وأيضا سنتعلم كيف نقارن بين عدة إطارات.
الفصل الخامس سنتطرق للمخططات البيانية كيف نوجدها ونرسمها ونقوم بتحليلها.. المخططات البيانية مفيدة في المجال الطبي. وسنتعرف على خاصية الاسقاط الخلفي والتي سنستفيد منها في الفصول اللاحقة لإيجاد جسم معين في الصورة.
الفصل السادس سنتعلم كيفية إيجاد تحويل فورييه للصورة وكيفية تطبيقه على الصورة بشكل عملي بدلا من الكلام النظري.. ربما هذا الفصل سيكون مفيدة لطلاب الهندسة… لذلك لا تقلق يمكنك تخطي قراءة هذا الفصل إن وجدت فيه صعوبة.
الفصل السابع سيكون مفيدا جدا لتعلم إيجاد السمات المختلفة والتي تميز كل شكل عن الآخر وكيفية الاستفادة منها في الفصول اللاحقة لاكتشاف الاجسام، حيث سنتعرف على عدة مكتشفات لهذه السمات (الميزات) والتي تميز كل جسم عن الأخر، وكيف نختار المكتشف حسب السرعة والأداء والأمر الذي نحتاج تنفيذه. في نهاية هذا الفصل سنتعلم كيف نطابق بين الميزات التي حصلنا عليها لجسم ما مع جسم أخر.
الفصل الثامن سنشاهد كيف نقوم بتحليل الفيديو واستخدام عدة خوارزميات كـ CamShift وMeanShift والتي سنستفسد منها في تقب جسم في الفيديو عن طريق لونه. ثم سنتعرف على ميزة التدفق البصري والتي يمكننا عن طريقة معرفة حدوث حركة لجسم ما وفي أي منطقة تمت الحركة. مجودة خاصية قريبة عليها في أجهزة الـ DVR فمثلا إذا حدث حركة في منطقة ما نطلق صفارة إنذار للتنبيه بهذه الحركة. ثم سنتعرف على خاصية طرح الخلية والتي أيضا يمكننا الاستفادة منها في إيجاد كائن معين.
الفصل التاسع “الأخير” سنعلم كيفية اكتشاف الأجسام باستخدام خوارزمية تدعى بـ Haar Cascades.. عمل هذه الخوارزمية قريب نوعا ما من الشبكات العصبونية ويعتمد على تدريب هذه الخوارزمية عن طريق تمرير لها عدة صور بأوضاع مختلفة لنفس الجسم وبعدها يمكننا اكتشاف هذا الجسم، يمكننا الاستفادة منها في الكشف عن العين أو الوجه أو جسم معين كسيارة مثلا نقوم بتصوير عدة صور لعيون مختلفة ونقوم بتدريب هذه الخوارزمية على اكتشاف العين عن طريق تمرير صور العيون التي صورناها. في نهاية هذا الفصل قمت بوضع رابط لتطبيق عملي عن كيفية الاستفادة من معالجة الصورة وربطها مع الأجهزة الإلكتروني.
***
تحميل الكتاب
***
***
الله يجزيكم الخير يارب 🙂
بالتوفيق ان شاء الله
ارسلت لحضرتك استفسار علي الميل بخصوص كود بلغة بايثون في الراسبيري اتمني من حضرتك الرد
تم الرد في الكومنت الخاص بالمدونة 🙂
اعتذر عن التأخير – حالياً متوقف نسبياً عن متابعة الايميل
جزاكم الله خيراً <3
الله يجزيكم بالخير . يا اهل الخير
جزاكم الله خيرااا
❤️احببته