دروس في معالجة الصور باستخدام الماتلاب part-3 (شرح عربي)
هذا الدرس ينقسم الى جزئين أساسيان أولهما لتقديم النوافذ الرئيسية ودورها و الثاني للبدأ في كتابة تعليمات بسيطة و تطبيق ما تم تقديمه في الجزء الأول
I. الجزء الأول
1. مكونات واجهة البرنامج
2. تعليمات التحكم
3. الكلمات المفاتيح
4. التعاليق
II. الجزء الثاني
.
I. الجزء الأول
1. مكونات واجهة البرنامج
نافذة التعليمات :Command Window
النافذة الرئيسية للبرنامج وفيها يتم كتابة التعليمات بشكل مباشر. توفر هذه النافذة عدة وضائف أخرى من بينها:
ـ الإطلاع على نصوص المساعدة المدرجة مع الدوال التي يوفرها البرنامج أو المساعدة العامة.
ـ الإطلاع على نتائج الترجمة.
ـ الإطلاع على مسار العمل وتغيره برمجيا.
ـ الإطلاع على محتويات مجال العمل وقيمة المتغيرات المتواجدة فيه, وإفراغه عند الحاجة.
ـ فتح الأقسام الفرعية للبرنامج مثل demo و Semulink...
(العنصر رقم 1 في الصورة)
مسار العمل:Current Directory
يتمثل في المجلد الحالي الذي تعمل فيه. المسار التلقائي الذي يوفره البرنامج هو المجلد Workالموجود في مسار تنصيب البرنامج. هذا المسار التلقائي يمكن من إستغلال أسهل للدوال التي يوفرها البرنامج ويحتوي كافة الملفات و المجلدات المرتبطة بالتطبيق الذي تم فتح أحد ملفاته الرئيسية(.m). لتغير المسار يكفي إختيار الزر المقابل لخانة الكتابة أوكتابة المسار هناك مباشرة وتفعيل التغير عبر النقر على الزر "Enter" (العنصر رقم 2 في الصورة)
. يمكن تعديل ذلك المسار برمجيا وسأبرز ذلك في الجزء الثاني من الدرس.(العنصر رقم 4 في الصورة)
أرشيف التعليمات:Command History
في هذه النافذة يتم تسجيل وقتيا و بترتيب كافة التعليمات السابقة التي تم تنفيذها في نافذة التعليمات مما ييسر إعادة تفعيلها/ترجمتها فقط بالضغط على أزرار الإتجاهات في لوحة المفاتيح. ما إن يتم إغلاق البرنامج تمحى محتويات مجال العمل وتبقى محتويات أرشيف التعليمات متواجدة,ويمكن إفراغها برمجيا وهو ما سأبرزه في الجزء اللاحق من هذا الدرس.(العنصر رقم 5 في الصورة)
مجال العمل: WorkSpace
في هذا المجال يتم تسجيل أسماء المتغيرات التي تم تعريفها والقيمة المسندة لكل متغير. هذا المجال يجنبنا إعدة إسناد نفس القيمة مجددا للمتغير و إستعماله مباشرة في المعادلات أو غير ذلك من الإستعمالات. ما يغلق البرنامج يتم مباشرة حذف محتويات مجال العمل لذلك ينبغي تسجيله عند الحاجة. من الممكن أيضا إفراغ هذا المجال برمجيا.(العنصر رقم 6 في الصورة)
العنصر رقم 3 في الصورة يبرز كيفية إخراج نافذة التعليمات في نافذة مستقلة.
2. تعليمات التحكم
ls: إظهار الملفات المتواجدة في مسار العمل. ويمكن إستخدامها لإختيار إظهار ملفات ذات إمتداد معين بالكيفية التالية :
كود:
ls *.m
: إظهار مسار العمل
echo: إرجاع نص/كلمة على شاشة التعليمات. مثال
كود:
echo Assalamou alaykom
who:إظهار أسماء المتغيرات المسجلة في مجال العمل
whos:,إظهار أسماء المتغيرات المسجلة في مجال العمل حجمها بالبايت, عدد مكوناتها خاصة للمصفوفات و نوعها
clear all: إفراغ كافة البيانات المسجلة تلقائيا في والتعليمات السابقة التي تم كتابتها في نافذة التعليمات
clc: تنظيف نافذة التعليمات من الأوامر السابقة ونتائجها
cd: تغير مجلد العمل, ويمكن إستعمالها بالكيفية التالية:
كود:
cd.. %or cd C:\My file
quit/exit: إغلاق البرنامج
3. الكلمات المفاتيح
كباقي لغات البرمجة, يحتفظ Matlab بمجموعة من الكلمات التي يمنع إستعمالها في غير محلها كتسمية المتغيرات. عند كتابة إحدى هاته الكلمات يصبح لونها أزرق أو بالإمكان الكتابة في شاشة التعليمات ما يلي:
كود:
iskeyword <option>
عند إستعمال بمفرها نحصل على مجموعة الكلمات المفاتيح أو يمكن كتابة الكلمة التي نريد التثبت منها مكان <option>.
. 4التعاليق
لإضافة تعليقات لجعل الكود أكثر وضوحا ينبغي إستعمال رمز النسبة المئوية "%" في بداية كل سطر من أسطر التعليقات. هذا الحل مفيد أيضا عند الرغبة في إخراج جزء من الكود من عملية الترجمة. ولكن إذا كان الحال يخص العديد من الأسطر, يجب أن أضيف الرمز % لكل سطر ثم العكس؟؟؟
طبعا لا. الأمر أيسر من ذلك, يكفي أن تقوم بتظليل الأسطر المعنية, ثم إختر عند النقر بيمين الفأرة Insert Commentو Remove Commentعند إعادة تفعيل تلك الأسطر.
ناتي الى الجزء الذي يهمنا او يهمني خصوصا لانني بصراحة المقدمة الاولى دائما ما اراها مملة
لكن احذروا قد تجدون فيها ادوات تحتاجونها فيما بعد
II. الجزء الثاني
الهدف من هذا الجزء من الدرس هو تعلم كتابة بعض التعليمات البسيطة كالجمع والطرح والقسمة:
كود:
>> 3-2 <Enter> >> 2*3 <Enter> >> 1/2 <Enter> >> 2+3 <Enter> >> 2\1 <Enter>
المقصود ب<Enter> هو النقر على الزر Enter لترجمة التعليمات وإرجاع النتيجة
النتائج المتحصل عليها تكون كما يلي:
كود:
ans = 1 ans = 6 ans = 0.5 ans = 5 ans = 2
نلاحظ هنا تكرار العبارة "ans"كل مرة وهو ما يعني answer. وهي التسمية التي يسندها البرنامج تلقائيا للمخرجات عند عدم تعريفها. المتغير يحتفظ دائما بالقيمة الأخيرة المسندة له من قبل البرنامج.
عوضا عن ذلك يمكن تسمية المخرجات بالكيفة التالية:
كود:
>> a = 2*3 <Enter>
أو
كود:
>> a = 2*3; <Enter>
لتا التعليمتان ترجع نفس النتيجة وهي إسناد رقم 6 كقيمة للمتغير a ويتم حفظه في مجال العمل. لكن الفرق يكمن في إرجاع نص النتجة في شاشة التعليمات أو لا. ونتجة التعليمة الأولى هي كما يلي:
كود:
a = 6
فل نجرب الآن التعليمة التالية
كود:
>> a = 2*b <Enter>
النتيجة:Undefined function or variable ...
الخطأ هنا يكمن في إستعمال المتغيرb دون تعريفه, لذلك يجب تعريفه أولا ثم إستخدامه وترتيب التعليمات مهم جدا هنا. والحل إذا:
كود:
>> b=3, a = 2*b <Enter>
نلاحظ هنا أني إستعملت تعليمتان في سطر تفصلهما فاصلة. هذه الأخيرة تمكن من رؤية نتيجة الترجمة في شاشة التعليمات وإذا لم ترغب في ذلك عوض الفاصلة ب ";". وبالإمكان كتابة أكثر من تعليمة واحدة في نفس السطر.
الآن وقد تم تعريف كل من و أسناد قيمة لكل منها سنقوم بتجربة بعض تعليمات التحكم التي تم تعريفها في الجزء الأول من الدرس.
كود:
>>clc
تم تنظيف شاشة التعليمات. أليس كذلك؟
سنجرب الآن
كود:
>>whos, clear all, whos
هذه التعليمات تمكن من الإطلاع على محتويات مجال العمل ثم تنظيف كل ما قام البرنامج بتخزينه ثم إعادة الإطلاع مجددا على مجال العمل.
يوفر البرنامج مجموعة من الدوال التي نحتاجها في الرياضيات مثلSin, cos, sqrt... كما يوفر بعض المسميات التي نحتاجها دون الضرورة لتعريفها, مثال Piوهي العدد 3.14....
كود:
>>sqrt(Pi)
الكود السابق يبين كيفية حساب الجذع التربيعي ل Pi
منقول