العودة   منتديات يمعة لطلبة الجامعة العربية المفتوحة AOU > يمعة الأقسام الدراسية لتخصصات الجامعة العربية المفتوحة > يمعة تقنية المعلومات والحوسبة > T490

T490 Selected Topics in Computer Science -Digital Image Processing

شرح كامل لبرنامج matlab

T490

إنشاء موضوع جديد إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 10-08-2011, 11:55 AM   #1
I.T
الصورة الرمزية I.T
اداري سابق


I.T غير متصل

الجنس ذكر










فرع الجامعة

التخصص

موادي لهذا الكورس


مهم شرح كامل لبرنامج matlab

August 10th, 2011

برنامج يستخدم بجانب المادة ولذا تم بحث من خلال المنتديات الخاصة في البرامج للمعالجة ...




يتكون برنامج الماتلاب من ثلاث نوافذ داخلية



الاولى : وتسمى ال command window تستخدم لتنفيذ البرامج

والثانية :command history

والثالثة : تسمي current directory


وهذه صورة لواجهة البرنامج





وللبدء بتطبيق البرامج لمعالجة الصور نذهب الى

File -> new -> m file

او عن طريقة نافذة الcommand والفرق فيما بينهم ان نافذة command تعمل على اظهار نتائج البرنامج خطوة خطوة اما في حالة m file فتظهر النتائج النهائية للبرنامج .



ولذلك انا افضل m file للحصول على النتائج النهائية فقط


وبعد النقر على ام فايل ستظهر لنا نافذه جديدة كما مبين في الصورة

ومن ثم نقوم بكتابة البرامج داخل نافذة ام فايل ومن ثم نضغط على ايقونة


لحفظ البرنامج ثم تنفيذه .


كتابة البرامج :



I=imread('football.jpg') تستخدم هذه الصيغة لقراءة الصورة ففي هذا المثال قرأنا صورة ملونة وقد نقرأ صور رمادية او الخ



Imshow(I) تستخدم لعرض الصورة بعد قرائتها ويجب ان نضع متغير الصورة داخل اقواس .

الصيغة العامة لتحويل صورة ملونة الى صورة رمادية :



R=egb2gray(I)



الصيغة العامة لتحويل صورة ملونة الى hsv

R=rgb2hsv(I)



الصيغة العامة لتحويلات فورير

Ff=fft(I)

الصيغة العامة لحساب المعدل



M=mean2(I)

DISP(I)



الصيغة العامة لايجاد الانحراف المعياري



M1=std2(I)

مكونات واجهة البرنامج





نافذة التعليمات :Command Window




النافذة الرئيسية للبرنامج وفيها يتم كتابة التعليمات بشكل مباشر. توفر هذه النافذة عدة وضائف أخرى من بينها:
ـ الإطلاع على نصوص المساعدة المدرجة مع الدوال التي يوفرها البرنامج أو المساعدة العامة.
ـ الإطلاع على نتائج الترجمة.
ـ الإطلاع على مسار العمل وتغيره برمجيا.
ـ الإطلاع على محتويات مجال العمل وقيمة المتغيرات المتواجدة فيه, وإفراغه عند الحاجة.
ـ فتح الأقسام الفرعية للبرنامج مثل demo و Semulink...
(العنصر رقم 1 في الصورة)


مسار العمل:Current Directory



يتمثل في المجلد الحالي الذي تعمل فيه. المسار التلقائي الذي يوفره البرنامج هو المجلد Workالموجود في مسار تنصيب البرنامج. هذا المسار التلقائي يمكن من إستغلال أسهل للدوال التي يوفرها البرنامج ويحتوي كافة الملفات و المجلدات المرتبطة بالتطبيق الذي تم فتح أحد ملفاته الرئيسية(.m). لتغير المسار يكفي إختيار الزر المقابل لخانة الكتابة أوكتابة المسار هناك مباشرة وتفعيل التغير عبر النقر على الزر "Enter" (العنصر رقم 2 في الصورة)
. يمكن تعديل ذلك المسار برمجيا وسأبرز ذلك في الجزء الثاني من الدرس.(العنصر رقم 4 في الصورة)

أرشيف التعليمات:Command History



في هذه النافذة يتم تسجيل وقتيا و بترتيب كافة التعليمات السابقة التي تم تنفيذها في نافذة التعليمات مما ييسر إعادة تفعيلها/ترجمتها فقط بالضغط على أزرار الإتجاهات في لوحة المفاتيح. ما إن يتم إغلاق البرنامج تمحى محتويات مجال العمل وتبقى محتويات أرشيف التعليمات متواجدة,ويمكن إفراغها برمجيا وهو ما سأبرزه في الجزء اللاحق من هذا الدرس.(العنصر رقم 5 في الصورة)





مجال العمل: WorkSpace


في هذا المجال يتم تسجيل أسماء المتغيرات التي تم تعريفها والقيمة المسندة لكل متغير. هذا المجال يجنبنا إعدة إسناد نفس القيمة مجددا للمتغير و إستعماله مباشرة في المعادلات أو غير ذلك من الإستعمالات. ما يغلق البرنامج يتم مباشرة حذف محتويات مجال العمل لذلك ينبغي تسجيله عند الحاجة. من الممكن أيضا إفراغ هذا المجال برمجيا.(العنصر رقم 6 في الصورة)
العنصر رقم 3 في الصورة يبرز كيفية إخراج نافذة التعليمات في نافذة مستقلة.

تعليمات التحكم
ls: إظهار الملفات المتواجدة في مسار العمل. ويمكن إستخدامها لإختيار إظهار ملفات ذات إمتداد معين بالكيفية التالية :

كود:

كود PHP:
ls *.



: إظهار مسار العمل




echo: إرجاع نص/كلمة على شاشة التعليمات. مثال

كود:

كود PHP:
echo Assalamou alaykom 
who:إظهار أسماء المتغيرات المسجلة في مجال العمل
whos:,إظهار أسماء المتغيرات المسجلة في مجال العمل حجمها بالبايت, عدد مكوناتها خاصة للمصفوفات و نوعها
clear all: إفراغ كافة البيانات المسجلة تلقائيا في والتعليمات السابقة التي تم كتابتها في نافذة التعليمات
clc: تنظيف نافذة التعليمات من الأوامر السابقة ونتائجها
cd: تغير مجلد العمل, ويمكن إستعمالها بالكيفية التالية:

كود:

كود PHP:
cd.. 
كود PHP:
  [LEFT]                        %or[/LEFT]
  [
LEFT]                         cd C:\My file[/LEFT
quit/exit: إغلاق البرنامج


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

كود:

كود PHP:
[LEFT]   iskeyword <option>[/LEFT
عند إستعمال بمفرها نحصل على مجموعة الكلمات المفاتيح أو يمكن كتابة الكلمة التي نريد التثبت منها مكان <option>.

.4-التعاليق

لإضافة تعليقات لجعل الكود أكثر وضوحا ينبغي إستعمال رمز النسبة المئوية "%" في بداية كل سطر من أسطر التعليقات. هذا الحل مفيد أيضا عند الرغبة في إخراج جزء من الكود من عملية الترجمة. ولكن إذا كان الحال يخص العديد من الأسطر, يجب أن أضيف الرمز % لكل سطر ثم العكس؟ [IMG]file:///C:/Users/lcc/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif[/IMG]
طبعا لا. الأمر أيسر من ذلك, يكفي أن تقوم بتظليل الأسطر المعنية, ثم إختر عند النقر بيمين الفأرة Insert Commentو Remove Commentعند إعادة تفعيل تلك الأسطر.






II. الجزء الثاني
الهدف من هذا الجزء من الدرس هو تعلم كتابة بعض التعليمات البسيطة كالجمع والطرح والقسمة:

كود:

كود PHP:
 >> 3-<Enter
كود PHP:
  [LEFT]   >> 2*<Enter>[/LEFT]
  [
LEFT]   >> 1/<Enter>[/LEFT]
  [
LEFT]   >> 2+<Enter>[/LEFT]
  [
LEFT]   >> 2\<Enter>[/LEFT
المقصود ب<Enter> هو النقر على الزر Enter لترجمة التعليمات وإرجاع النتيجة
النتائج المتحصل عليها تكون كما يلي:

كود:

كود PHP:
   ans 
كود PHP:
  [LEFT]          1[/LEFT]
  [
LEFT]    ans =[/LEFT]
  [
LEFT]          6[/LEFT]
  [
LEFT]    ans =[/LEFT]
  [
LEFT]          0.5[/LEFT]
  [
LEFT]    ans =[/LEFT]
  [
LEFT]          5[/LEFT]
  [
LEFT]    ans =[/LEFT]
  [
LEFT]          2[/LEFT
نلاحظ هنا تكرار العبارة "ans"كل مرة وهو ما يعني answer. وهي التسمية التي يسندها البرنامج تلقائيا للمخرجات عند عدم تعريفها. المتغير يحتفظ دائما بالقيمة الأخيرة المسندة له من قبل البرنامج.
عوضا عن ذلك يمكن تسمية المخرجات بالكيفة التالية:

كود:

كود PHP:
 >> 2*<Enter
أو

كود:

كود PHP:
  >> 2*3; <Enter
لتا التعليمتان ترجع نفس النتيجة وهي إسناد رقم 6 كقيمة للمتغير a ويتم حفظه في مجال العمل. لكن الفرق يكمن في إرجاع نص النتجة في شاشة التعليمات أو لا. ونتجة التعليمة الأولى هي كما يلي:

كود:

اقتباس a =
اقتباس
6
فل نجرب الآن التعليمة التالية

كود:

كود PHP:
  >> 2*<Enter
النتيجة:Undefined function or variable ... [IMG]file:///C:/Users/lcc/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif[/IMG]
الخطأ هنا يكمن في إستعمال المتغيرb دون تعريفه, لذلك يجب تعريفه أولا ثم إستخدامه وترتيب التعليمات مهم جدا هنا. والحل إذا:

كود:
كود PHP:
[LEFT][CENTER][/CENTER][/LEFT][CENTER][/CENTER]
    [
LEFT]     >> b=32*<Enter>[/LEFT
</div>
نلاحظ هنا أني إستعملت تعليمتان في سطر تفصلهما فاصلة. هذه الأخيرة تمكن من رؤية نتيجة الترجمة في شاشة التعليمات وإذا لم ترغب في ذلك عوض الفاصلة ب ";". وبالإمكان كتابة أكثر من تعليمة واحدة في نفس السطر.
الآن وقد تم تعريف كل من و أسناد قيمة لكل منها سنقوم بتجربة بعض تعليمات التحكم التي تم تعريفها في الجزء الأول من الدرس.

كود:

كود PHP:
  [LEFT] >>clc[/LEFT
تم تنظيف شاشة التعليمات. أليس كذلك؟
سنجرب الآن

كود:

كود PHP:
  >>whosclear allwhos 
هذه التعليمات تمكن من الإطلاع على محتويات مجال العمل ثم تنظيف كل ما قام البرنامج بتخزينه ثم إعادة الإطلاع مجددا على مجال العمل.
يوفر البرنامج مجموعة من الدوال التي نحتاجها في الرياضيات مثلSin, cos, sqrt... كما يوفر بعض المسميات التي نحتاجها دون الضرورة لتعريفها, مثال Piوهي العدد 3.14....

كود:

كود PHP:
>>sqrt(Pi
الكود السابق يبين كيفية حساب الجذع التربيعي ل Pi





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

يستخدم الاحصاء البسيط في موضوع معالجة الصور لوصف صورة ما او جزء
منها ، ويتخدم الاحصاء موضوع التوزيع الاحتمالي لوصف الطاقة الموجودة
في الاشارة ، وبشكل عام يستخدم التوزيع الاحتمالي مع الصورة لوصفها
وتستعمل دالة الكثافة الاحتمال لوصف اشراقة الصورة ..
دالة التوزيع الاحتمالي لاراقة الصورة:
دالة التوزيع الاحتمالي p(a) :هي احتمالية ان اشراقة الصورة او
المنطقة المختارة منها اقل او تساوي قيمة الاشراقة a . اذا ازدادت
قيمة الاشراقة a من infinity - الى infinity + فان قيمة الدالة p
(a) تزداد بين 0 الـ 1
المعدل:
معدل اشراقة الصورة او منطقة محددة منها هو الوسط الحسابي لاشراقة
نقاط الصورة او المنطقة ، وان المعدل ma للاشراقة لـ (n pixel) من
النقاط لمنطقة r يعطي كما يلي

كود:

كود PHP:
ma=1/n a[m,n
ونستطيع ايجاد المعدل بالاعتماد على قيم الاشراقة
للمدرج التكراري histogram للصورة حسب قيم الاشراقات للنقاط a

كود:

كود PHP:
ma=1/n h[a

وكلما ازداد معد الصورة تكون الصورة اكثر اشراقا ووضوحا والا فهي
صورة معتمة
الانحراف المعياري:
ان معدل انحراف اشراقات نقاط الصورة عن معدلها يطلق عليه الاتحراف
المعياري ويرمز له sd . وهو انحراق اشراقات (n pixels) من النقاط
على منطقة r
وكلما ازداد التباين او الانحراف المعياري للصورة تكون الالوان فيها
غير متجانسة ومشتتة وبعكسه يكون اكثر تجانسا وغير مشتته


المدرج التكراري histogram


يمثل عدد النقاط الضوئية في صورة معينة وكيفية توزيعها ، وقد يوجد
صورتين مختلفتين ولكن بنفس المدرج التكراري لنقاطهنا . يستفاد من
المدرج التكراري في استخراج صفات المعدل وباقي الصفات الاحصائية .
يرمز للمدرج التكراري h(1)
ولتوحيد هذه التدرجات المتمثلة بالنقاط الضوئية نستخدم مساوء


التدرجات الرمادية histogram equalization

كود:

كود PHP:
[LEFT]example :[/LEFT]
  [
LEFT]a=imread('pout.tif')[/LEFT]
  [
LEFT]h=zeros(265,1)[/LEFT]
  [
LEFT]for m=0:255[/LEFT]
  [
LEFT]h=(m+1)=sum(sum(a==m))[/LEFT]
  [
LEFT]end[/LEFT]
  [
LEFT]bar(0:255,h)[/LEFT
مساوئ التدرجات الرمادية histogram equalization
GE(A): هو مساوئ التدرجات الرمادية لنقاط الصورة الرمادية A .
فاذا علمنا تساوي التدرجات الرمادية للصورة A وتكونت الصورة B اي

كود:

كود PHP:
(B(I,J)=GE(I,J)) 
فان المدرج التكراري

كود:

كود PHP:
hB(1
يعتبر المدرج النموذجي والقياسي والمثالي للمدرج التكراري

كود:

كود PHP:
hA(1

يستخدم HISTOGRM EQUALIZATION
1-في معاجلة الصور وتحسينها
2- عندما تكون قيم مقاط الصورة A تحتل منطقة اكبر في الصورة الناتجة
B مما كانت عليه فيعني عملية سحب وتصبح الصورة اكثر وضوحا
3-عندما تكون قيم نقاط الصورة A تحتل منطقة اصغر في الصورة الناتجة
B مما كانت عليه فيعني كبس وتصبح الصورة غير واضحة
4-مقارنة صورتين مع بعضهما وذلك بتوحيد مدرجاتهما بمدرج واحد قياسي


تحسين الصور : IMAGE ENHANCEMENT
ان الهدف الرئيسي من تقنيات تحسين الصور هو معالجة صورة معينة بحيث
النتيجة تكون اكثر ملائمة من الصورة الاصلية او يتم ذلك بزيادة
التمييز بين التفاصيل الموجودة في الصورة ، علما ان عملية التحسين
تتم بعد اجراء عملية التصحيح للصورة بازالة الضوضاء الموجودة في
الصورة . حيث ان تحسين الصورة الحاوة على الضوضاء يؤدي الى زيادة
وضوح الضوضاء مما يؤدي الى زيادة الخطا في تفسير الصورة الناتجة
ويكون على نوعين :
1التنعيم
2 تحديد الحواف
تحسين الصور في المجال الترددي يستخدم الفلاتر
تحسين الصور في المجال المكاني نستخدم الارقام المطلقة والتي تمثل شدة
الاضاءة للنقاط الصورية
مصطلحات
PONIT OPERATION : يتم التحسين لقيمة شد الاضاءة لكل نقطة صورية
AREA OPERATION : يتم التحسين للنقظة بالنسبة لها والنقاط المجاورة
لها
التشويش : NOISE
هي معلومات غير مهمة وغير مرعوب فيها تضاف الى الصورة وتأتي من
مصادر مختلفة ويزال التشويش باستخدام الفلاتر بانواعها الترددي
والمكاني
انواع التشويش:
1- GAUSSIAN NOISE
ويحدث نتيجة خطأ الكتروني عن التصوير
2-SALT AND PEPPET NOISE
ويحدث نتيجة
خطأ في سنسر الكاميرا
خطأ في عملية SAMPLIN AND QUANTIZATION
خطأ في مواقع البكسل في الصورة
3-UNIFORM NOISE
يحدث
-خطأ طبيعي يحصل في جميع الصور
- يعتبر مهم لانه الاساس في تكوين الخطأ للصور الاخري
- يعتبر مولد للتشوش
-مفيد لانه يدخل في تكوين الكاوسين وسلت والبيبر
الفلاتر :عملية الفلترة للصورة تشمل تطبيقات كثيرة مثل التنعيم
وتحديد الحواف وازالة التشويش ويعرف الفلتر او اللب او KERNAL
هو مصفوفة ذات بعدين تطبق كل نقطة ضوئية وتجاوراتها في الصورة
واشهر الفلاتر
LOW PASS FILTER
HIGH PASS FILTER
AVERAGE FILTER
MEDIAN FILTER
SOBEL FILTER
PREWIT FILTER



ملاحظة التقييم
  
  تقييم وشكر خاص من قبل مشرفي الاقسام الدراسية أو الليدر
  
  يعطيك العافيه
__________________
Twitter: AhmedTaqei
(( اللهم اشفي اخونـــا محمد الزمانان حيث انه اجرى عملية جراحية ونتمنى من الجميع الدعاء له .. ولله الحمد بصحة جيدة الان )) .........أحــمد تقي
I.T غير متصل   رد مع اقتباس
قديم 10-08-2011, 02:43 PM   #2
slicker
جامعي جديد


slicker غير متصل

الجنس ذكر










فرع الجامعة

التخصص

موادي لهذا الكورس


افتراضي رد: شرح كامل لبرنامج matlab

شكرا
بس كيف ممكن نحمل البرنامج؟
slicker غير متصل   رد مع اقتباس
قديم 05-10-2011, 04:49 PM   #4
زهرة الألماس
الصورة الرمزية زهرة الألماس
جامعي جديد


زهرة الألماس غير متصل

الجنس انثى










فرع الجامعة

التخصص

موادي لهذا الكورس


آخر مواضيع العضو:


شكراً
شكراً: 0
تم شكره 0 مرة في 0 مشاركة

عرض البوم صور زهرة الألماس  

افتراضي رد: شرح كامل لبرنامج matlab

||~~||

تسلمـ أخوي كفيت ووفيت
يعطيكـ ألف عآفيهـ،،




||~~||
بالتوفيق للجميع
زهرة الألماس غير متصل   رد مع اقتباس
إنشاء موضوع جديد إضافة رد

مواقع النشر (المفضلة)


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
لينك برنامج الماتلاب matlab lll 78 lll T490 5 27-04-2014 11:26 AM
شرح مبسط لبرنامج Pencil ahmad zuman TT284 1 21-04-2014 12:06 AM
اي سي دي لبرنامج الراد؟ noway T209A 3 08-12-2011 04:58 PM
شرح بسيط لبرنامج mtalab I.T T490 3 05-10-2011 04:51 PM
متى يفتح باب التسجيل لبرنامج الماجستير؟ q8hawk استفســـارات الطلبــة 3 28-06-2011 10:14 PM


الساعة الآن 07:11 PM.


Powered by vBulletin® Version 3.8.7, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd. TranZ By Kuwaithub
new notificatio by 9adq_ala7sas
هذا المنتدى يستخدم هاك فراس سيو v3.1 .User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
جميع الحقوق محفوظة للموقع تصميم النور اونلاين لخدمات الويب المتكاملة