5


معالجة الصور ( Image Processing )
الدرس الأول : تعريف الصورة - ما هي العمليات التي تجرى على الصور - بعض العمليات الرياضية - مكتبه ال OpenCv وتسطيبها - تعريف البايثون - برنامج بسيط لعرض الكاميرا
السلام عليكم ورحمه الله وبركاته
اولا : ما هي الصورة من وجهه نظر الحاسب الآلي ؟
الصورة هي عباره عن مصفوفة ابعادها تمثل ابعاد الصورة الحقيقية ( بالبيكسل ) فإذا كانت ابعاد الصورة 600*480 بيكسل إذا ابعاد المصفوفة هي 600*480
وما هو البيكسل ؟
البيكسل هو جزء من الصورة ويمثل مربع من مربعات الصورة ويحتوي على قيمة معينه تبعا لللون الذي يحتويه هذا البيكسل او هذا المربع من الصورة
ماذا يعني ان الكاميرا 8 ميجا بيكسل ؟
اي ان مساحة الصورة التي تلتقطها = 8 ميجا بيكسل = 8000000 بيكسل
مثال : اذا كان هنالك كاميرا تلتقط صورة طولها 2048×1536 عرض إذا الناتج سيكون 3.2 مليون بيكسل اي 3.2 ميجا بيكسل ..
اذا كلما زاد عدد البيكسل في الصورة كلما كانت الصورة أوضح لأنها تعبر عن جزء معين في عدد مربعات اكبر .. بدلا من ان تلتقط انسان في 2 ميجا بيكسل فقط فإنها تلتقطه في 8 ميجا بيكسل فلذلك تصبح الصورة انقى
كيف يقرأ الحاسب الصورة ؟
ذكرنا سابقا ان الصورة في الحاسب تمثل بمصفوفة ابعادها تساوي ابعاد الصورة .. وعناصرها = عدد البيكسل ... وكل عنصر يحتوي قيمة اللون الذي تحتويه البيكسل ...
قيمة اللون في البيكسل :
الصورة عندما تلتقط لها اكثر من شكل .. فهنالك صور ابيض واسود فقط .. وهنالك صور Grey اي ابيض واسود ورصاصي .. وهنالك صور ملونه .. إلخ
هنا نأتي لتعريف مهم في ال Image processing وهو number of bits per pixel : اي عدد ال Bit التي تمثل فيها ال بيكسل الواحده واختصارها Bpp
فإذا كانت الصورة 1 Bpp يعني bit واحده فقط .. فهي تحتمل اما صفر او واحد .. وهي الصورة الأبيض والأسود فقط .. الأبيض هو الواحد والاسود هو الصفر
وإذا كانت 2 Bpp معناها ان كل بيكسل تمثل في 2 bit ومعناها ان range الألوان قد زاد واصبح 2^2 = 4 الوان
وهكذا حتى نصل الى الصور الملونة وهي تلتقط في الكاميرا 3 مرات للصورة الواحده .. مره تقيس اللون الأحمر ومره تقيس اللون الاخضر ومره تقيس اللون الازرق ... وتسمى ال RGB اي ان الصوره الملونه لها 3 مصفوفات مصفوفة للأخضر ومصفوفه للأحمر ومصفوفه للأزرق ..
وهنا البيكسل الواحده تمثل في 24 bit .. ثمانية للأحمر وثمانية للأزرق وثمانية للأخضر .. وهنا يكون عدد احتمالات درجات الاحمر = 2^8 = 255 وكذلك الاخضر وكذلك الأزرق .. اذا عدد احتمالات الألوان للبيكسل ككل = 2^24 = 16777216 لون
ملخص :
اذا قمت بإستدعاء البيكسل رقم (0,0) اي اول مربع في الصورة ستجد الناتج ممثل في 3 قيم ( 255,255,255) وهي قيمة ال R,G,B .. اذا كانت ال 3 قيم ب 255 فهذا هو اللون الأبيض واذا كانو جميعا 0 اذا هذا هو اللون الأسود
ملحوظة :
اذا كان هنالك لون أصفر مثلا فإنه يمكن ان يكون له اكثر من قيم في ال RGB بمعنى انه يمكن استنتاجه بأكثر من طريقة ( تقليل الازرق وزياده الاحمر والاخضر , زيادة الاخضر والازرق والاحمر , تقليل الاحمر والازرق وزيادة الاخضر .... إلخ )
ما هو الفيديو او البث الحي ؟؟
البث الحي او الفيديو ما هو الا عباره عن التقاط عدد كبير من الصور في الثانية الواحده وعرضها بالترتيب .. وتسمى number of frames per second وهنا تسمى الصورة Frame .. وكلما زاد عدد ال frames في الثانية الواحده كلما كان الفيديو مزامن للحقيقه .. مثال : اذا كانت الكاميرا 10 frame per second وكانت تصور مباره كره قدم ستجد فرق كبير جدا في الوقت ستجد الكره تمر في الحقيقية ثم بعدها بثواني ستجدها في الكاميرا .. وستلاحظ هذا في الموبايلات القديمة انك تحرك يدك بسرعه والكاميرا تبثها بعدها بفرق وقتي
لذلك تجد في الكاميرات وضع يسمى Sport وهذا يزيد من عدد ال fbs حتى تجاري الواقع
-------------------------------------------------------------------------------------
ما هي معالجة الصور ؟؟ وما هي العمليات الرياضية التي تجرى عليها ؟
بما ان الصور تمثل في مصفوفات اذا يمكننا اجراء عليها كل العمليات الرياضيه التي تجرى على المصفوفات : بداية من الجمع والطرح حتى المعادلات والتحويلات (transformations ) والمقلوب وغيرها
ماذا نستفيد من ذلك ؟
الجمع : اذا جمعت على صورة ما 3 مصفوفات كلها تحتوي على عنصر = 1 فستجمع على مصفوفة ال red 1 وكذلك الاخضر وكذلك الازرق ... فإذا زادت قيمة الاحمر والاخضر والازرق فإنك تقترب من الابيض قليلا فستجد ان الصورة اصبحت اكثر إضاءاة
الطرح : اذا التقطت صورتين لنفس الجسم في نفس الظروف وطرحت الصورتين من بعضهم ستحصل على صورة جديده تحتوي الفروقات بينهم ( بمعنى انك اذا التقطت صورة لجسم مره ثم وضعت عليه جسم اخر والتقط مره اخرى وطرحت الصورتين ستجد الناتج عباره عن صورة سوداء لا تحتوي الا الجسم الذيي وضعته مؤخرا
التحويلات : كثيرا ما نسمع عن التشويش او الاهتزاز ( البكسلة ) وهي عباره عن صورة تم التقاطها بسرعه فأصبحت الصورة غير واضحة وهنا يتم اجراء عليها transformations تقوم بعمل Filter للتشويش واعادة الصورة واضحة مثل Fourier transformation ,geometric transformation
--------------------------------------------------------------------------------------
ما هي مكتبة ال OpenCv ؟؟
كما وضحنا سابقا ان كل العمليات على الصور هي مجرد عمليات رياضية بحته .. ولكن ليس من المعقول ان المبرمجين سيقومون بعمل كل هذه العمليات في كل مره يستخدمون فيها الصور ... ولذلك تم انشاء مكتبه ال OpenCv
هي عباره عن مكتبه تحتوي على دوال تقوم بعمل معظم عمليات الصور التي يحتاجها المبرمجين كما تحتوي على دوال تقوم بتحديد اجسام معينه في الصورة مثل الخطوط والاشكال الهندسية .. ودوال اخرى لتحديد الألوان .. كما يمكن استدعاء ملفات XML خاصه بتحديد وجه الانسان وعينيه وشعره ويده وجسمه ككل .. ويمكن استخدامها في التعرف على الشخص كما يمكن عمل classifier خاص بأي جسم ( التقاط صور عديده لنفس الجسم من كل الاتجاهات حتى يتعرف عليه الكاميرا من كل الاتجاهات ) ... وليس هذا مقتصرا على الانسان فقط بل أي جسم ( مثال مباريات كرة القدم )
ملخص :
ال OpenCv هي مكتبه يمكن استدعائها في معظم لغات البرمجه الشائعة :
C,C# C++, Python , Java ..... ومن خلالها يمكن استدعاء دوال جاهزه تقوم بعمل جميع العمليات الرياضية التي يحتاجها المبرمجين
------------------------------------------------------------------------------------
تعتبر ال OpenCv في لغة البايثون اسهل ما يمكن مقارنة باللغات الأخرى لأن ال Python لغة سهلة ولكن عيوبها انها لا تحتوي على كل الدوال المتقدمة .. حيث ان الأصل هو لغات ال C مشتقاتها من ال C# و C++
ولكن البايثون يعتبر كافي جدا للمبرمجين العاديين وكافي للمسابقات وغيرها
------------------------------------------------------------------------------------
أولا : تحميل برنامج .Python 2.7.0.... لا تقوم بتحميل نسخة اعلى من ذلك لان ال OpenCv لا يعمل الا ب 2.7
https://www.python.org/downloads/
اختار 2.7.0 او 2.7.1 حتى 2.7.6
ثانيا : قم بتحميل مكتبه ال OpenCV
http://sourceforge.net/projects/opencvlibrary/
ثالثا : قم بتستطيب ال OpenCv
تابع الفيديو الاتي حتى الدقيقة السادسة تقريبا ... باقي الفيديو يطبق على لغة ال C#
http://www.youtube.com/watch?v=POpMQPM9YlY
---------------------------------------------------------------------------------
قم بفتح ال Python ثم file ثم new tabواكتب البرنامج الموجود في هذا ال Text فايل :
https://www.mediafire.com/?1bb68v1azddr6wv
سيتم شرح البرنامج في المره القادمة بإذن الله مع المزيد من البرامج ايضا
المراجع :
http://en.wikipedia.org/wiki/Pixel
http://en.wikipedia.org/wiki/Color_depth
http://www.mathworks.com/discovery/image-transform.html
http://en.wikipedia.org/wiki/RGB_color_model

Post a Comment

  1. يضم المركز نخبة من كبار الاساتذة والمدرسين فى معادلة الهندسة فى مركز النور حقق حلمك بالالتحاق بكلية الهندسة بكل سهولة
    http://elnour-edu.com

    ReplyDelete
  2. سلام عليكم
    اين الدرس الثاني لمعالجة الصور بالبايثون اذا تفضلتم

    ReplyDelete
  3. الان احصل علي افضل الخدمات المقدمة من ىكبري مراكز النور التي تعمل علي توفير معادلة كلية الهندسة فهي تعتبر من اكبر وافضل معادلة كلية هندسه التي تساعد الطلاب في الالتحاق بالكلية الهندسية عن طريق اخذ تلك معادلة هندسة التي يوقوم مركز النور بتوفيرها للطلاب

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. افضل الخدمات المميزة الان من مركز النور فهم يعملون علي توفير افضل شروط معادلة كلية هندسة وهنا يمكنكم الاعتماد علي الكثير من خدمات الكبري في معادلة كلية الهندسة للذلك يمكنكم الان التمتع باقوي العروض المميزة في معادلة هندسة المميزة للطلاب

    ReplyDelete

 
Top