Matla Blabs Modified
Matla Blabs Modified
Matla Blabs Modified
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ما هو الماتالب ؟
الماتالب هي كلمة بمعنى "مختبر المصفوفات" او " المعمل الرياضي " وهو برنامج رائد في التطبيقات الهندسية و
الرياضية إنتاج شركة ماثووركس يستخدم البرنامج مع العديد من التطبيقات و االدوات المساعدة األخرى مثل
)(Simulinkوهي لغة ذات أداء عالي للحسابات التقنية ,حيت تدمج التخمين ,والبرمجة بطريقة سهلة االستعمال في
بيئتها حيث المشاكل و الحلول تكون معبرة فى مجموعة رموز رياضية ذات عالقة ببعضها.
والماتالب نظام فعال حيث عنصر البيانات األساسية هي المصفوفات التي ال تتطلب أبعاد و كتبت لتزود التعامل السهل
لبرمجة المصفوفات المتطورة بواسطة مشاريع LINPACK & EISPACKالتي مع بعضها تقـدم الحالة للفن في
برمجة حل المصفوفـات.
وهو أداة مفيدة جداً في تحليل وتصميم األنظمة اإللكترونية باستخدام الحاسب ،وقد أصبحت ذات تواجد واسع في
المناهج الهندسية كما أنها تسخدم صناعيا ً في تصميم األنظمة ومحاكاتها.
جاءت كلمة ماتالب MATLABمن األحرف األولى للعبارة Matrix Laboratoryأي مختبر المصفوفات ،يحث
تتعامل لغة ماتالب مع الثوابت والمتحوالت كمصفوفات رياضية ،وبنا ًء على ذلك العمليات الرياضية االفتراضية في
ماتالب هي عمليات على مصفوفات .مثالً : a * bهي عملية ضرب مصفوفتين األولى aوالثانيةb
كما يمكننا أن نستخدم الميزات المبنية في ماتالب لحل أنواع عديدة من المسائل العددية البسيطة ،مثل حل معادلتين
بمجهولين:
والمزيد من المسائل المعقدة مثل االستيفاء الرياضي ،إيجاد حسابات المصفوفات ،إنجاز عمليات معالجة اإلشارة
كتحويل فورييه ،وبناء وتوجيه الشبكات العصبونية.
من أهم وأقوى الميزات في ماتالب أنه قادر على الرسم البياني للعديد من أنواع المنحنيات ،ويجعلك تستطيع تصور
وتخيل أعقد التوابع الرياضية والنتائج المخبرية بيانياً .مثالً :الصور الثالثة التالية لمنحنيات بيانية رسمت باستخدام
توابع ماتالب للرسم البياني.
هذا يعني أن البرنامج المكتوب بلغة ماتالب سيكون موجزاً أكثر مما لو كان سيكتب بأية لغة برمجة أخرى ،فالعمليات
الرياضية المعقدة يمكن كتابتها في أسطر قليلة من لغة ماتالب دون الحاجة إلى الحلقات البرمجية ثم تنفيذها باستخدام
الحاسب للحصول على النتائج .هذه المصفوفات ستجعل البرنامج المكتوب بلغة ماتالب صعبا ً للفهم لكنها ستجعله ذو
كفاءات عالية في الحسابات واإليجاز ،مما جعلها مجمعا ً للمهندسين على اختالف اختصاصاتهم ،فصارت ماتالب تحمل
ً
وخاصة اإللكترونية. العديد من المكتبات البرمجية في مختلف االختصاصات الهندسية
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 1من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
برنامج الماتالب هو برنامج هندسي (وله مجاالت أخرى) يقوم بعمليات تحليل وتمثيل البيانات من خالل معالجة تلك
البيانات تبعا ً لقاعدة البيانات الخاصة به ,فمثالً يستطيع البرنامج عمل التفاضل differentiationوالتكامل
Integrationو كذلك يقوم بحل المعادالت الجبرية Algebric Equationsوكذلك المعادالت التفاضلية
Differential Equationsذات الرتب العليا والتي قد تصل من الصعوبة ما تصل ,ليس فقط ذلك بل يستطيع
البرنامج عمل التفاضل الجزئي ,ويقوم بعمل عليات الكسر الجزئي Partial fractionبسهولة ويسر والتي تستلزم
وقتا ً كبيراً لعملها بالطرق التقليدية ,هذا من الناحية األكاديمية ,أما من الناحية التطبيقية فيستطيع البرنامج العمل في
جميع المجاالت الهندسية مثل أنظمة التحكم Control System,وفي مجال الميكانيكا Mechanical Field,
وكذلك محاكة اإللكترونيات Electronicsوصناعة السيارات Automotive Industry,وكذلك مجال الطيران
والدفاع الجوي Aerospace and Defense,والكثير من التطبيقات الهندسية.
وقد قامت شركة السيارات المعروفه نيسان Nissanبتخفيض وقت التطوير إلى %50عندما قامت بإستبدال التصميم
على األوراق Paper Model Based Designإلى األداة المتطورة في برنامج الماتالب وهو Model Based
Design,
فمع التقدم السريع في التكنولوجيا أصبحت الحاجة ملحة على تعلم مثل هذا البرنامج حتى نصبح في سباق التنافس
الصناعي.
. استخدامات الماتالب
يعتبر برنامج MATLABالبرنامج الهندسي االقوى واالفضل من حيث تنوع استخدامه ,حيث يجب التعريف به الى
كل من ليس لديه اي خلفية عن مدى اهمية استخدامه في المجاالت الهندسية المختلفة وقد يستخدم في مجاالت اخرى
غير مرتبطة بالمجال الهندسي ,و ادا كنت من احدى التخصصات التالية ,فاني انصح بضرورة تعلم هدا البرنامج الرائع
وهده التخصصات هي:
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 2من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ومن اهم االشياء االساسية التي تجعل هدا البرنامج هو االقوى هي:
سهولة كتابة كود البرمجة و بساطة دواله .1
وجود دوال جاهزة لحساب عملية معينة كدوال التحليل العددي لحل المعادالت الرياضية المعقدة .2
دوال الرسم و دقة ووضوح الرسومات البيانية التي يقوم بها في بعدين او ثالث ابعاد و تنوع دوال الرسم المختلفة كالتي .3
توجد في األكسل
يمكن بواسطته عمل محاكات للواقع (VERTUAL REALITY ) ,على سبيل المثال يمكن محاكات عملية قيادة .4
طائرة أو محاكات روبوت لكي يمكن معرفة كيف سيكون مسار حركته في الواقع
من اشهر استخدامات الماتالب هو استخدامه في التحكم اآللي ,حيث يحتوي هدا البرنامج على جميع دوال الخاصة في .5
التحكم اآللي ) ( Automatic Controlو احتوائه على ادوات خاصة متعددة لهدا المجال(tool boxes ).
يمكن ايضا استخدامه في تجميع بيانات من جهاز قياس)(data aqusetion .6
تعدد استخدامه في الجانب الرياضي ,حيث يكمن استخدامه في التحليل العددي (حل المعادالت الجبرية الخطية و الغير .7
خطية و المتجانسة و الغير متجانسة ,حل المعادال التفاضلية المتجانسة و الجزئية...,الخ)
تلك األشياء التي سبق ذكرها هي مجرد نقطة في بحر استخدامات هدا البرنامج المذهل.
أنظمة الماتالب
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 3من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
وهي لغة نستطيع أن نشبهها بوعاء يحتوي مجمل اللغات البرمجية التي يتعامل معها المبرمجون في مختلف المجاالت
العلمية ،فهي لغة عالية المستوى مبنية على مبدأ المصفوفات والمحددات باإلضافة للجمل التدفقية والتوابع وبنى
المعطيات وملفات الدخل والخرج ومختلف مزايا البرمجة غرضية التوجه ،وهي ليست مدخالً ال مخرج له ،بل
يستطيع المستخدم أن يبرمج بواسطتها تطبيقات سهلة وبسيطة دون الدخول في تعقيدات علم البرمجة الصعب ،كما
تسمح له في ذات الوقت أن يتعمق ويكتب برامجه التطبيقية الفائقة في التعقيد .
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 4من 49
موفق البراق/د مقرر تمييز االنماط ومعالجة الصور العملي تقنية معلومات-كلية العلوم والهندسة-الجامعة الوطنية
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
5*y*(x^2-2*x*y+y)
Solving Equations: For example,
You can solve equations involving variables with solve >> [x, y] = solve(’xˆ2 -y=2’,’y -
or fzero. For example, to find the solutions of the 2*x= 5’)
x =
quadratic equation x2 − 2x − 4 = 0, type [ 1+2*2^(1/2)]
>> solve(’xˆ2 - 2*x - 4 = 0’) [ 1-2*2^(1/2)]
ans = y =
[ 5^(1/2)+1] [ 7+4*2^(1/2)]
[ 1-5^(1/2)] [ 7-4*2^(1/2)]
Logical operators: Relational operators
& and The relational operators in MATLAB are:
| or < less than
~ not greater than
&& short-circuit and <= less than or equal
|| short-circuit or >= greater than or equal
== equal
~= not equal
IF-ELSEIF-END
A powerful form of if statement.
An if-else-end only provides one option if the if
condition is not true (returns value 0).
if-elseif-end on the other hand provides more
options for other conditions. Let’s look at an
example for clarification.
E.g: if (command == 1)
statement 1;
elseif (command == 2)
statement 2;
elseif (command == 3)
statement 3;
else
fprintf(‘Invalid command entered. \n’);
end
SWITCH-CASE
Used to test whether an expression is equal to
a number of different values. It may not be able
to check for most conditions, (a >= 5)
E.g: command = input(‘Specify your
command [1-5]: \n’)
switch command
case 1
statement 1;
case 2
statement 2;
case {3,4,5}
fprintf(‘Your chose either option 3,4 or 5.’)
statement 3;
otherwise
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
49 من5 الصفحة
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
)’!fprintf(‘Error! – Please choose 1 – 5 only
end
FOR loops and BREAK
Used to execute a set of statements (m) a
particular number of times (n).
E.g.: for i = 1:10
;statement 1
;statement 2
;statement 3
;statement m
end
FOR loops and BREAK
“Break” is used to get out of the loop after a
certain condition is satisfied without finishing
the “for” loops.
E.g:
fprintf(‘Guess a number, you have 10 guesses.
;)\n
;number = 3; correct = 0
for i = 1:10
;)’ guess = input(‘Type a number:
if guess == number
;)’!fprintf( ‘\n Congrats! – your guess is correct
;correct = 1
;break
else
;)’fprintf(‘your guess is wrong – guess again. \n
end
if ~ correct
fprintf(‘The number I was thinking was %g. \n’,
;)number End
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 6من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 7من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 8من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 9من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 10من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 11من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 12من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 13من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 14من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 15من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 16من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 17من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 18من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
STR2DOUBLE
DOUBLE2STR
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 19من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 20من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الرسم ثنائي األبعاد 2D Plotting :المقصود بالرسم ثنائي األبعاد هو أن تكون العالقة التي تحكم عملية الرسم تكون
بين متغيرين فقط أحدهم يسمى independentواآلخر يسمى dependentفما المقصود ب independent
Variableأي المتغير المستقل أي أن قيمه ال تحكمها عالقة بينما dependent Variableأي المتغير المُعتمد
حيث يعتمد قيمه على قيم المتغير المستقل اآلن وبعد شر هذين العنصرين الهامين ,سنقوم بشر األمر plotحيث يأخذ
الصورة التالية وهذا مثال بسيط لكيفية رسم sine wave
تالحظ أننا قدد اخترنا 10نقاط فقط لرسم Sine Wave ,وهذا عدد قليل لرسم Sine Waveوتالحظ ظهور
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 21من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الرسم بالشكل اعاله .حتى نحسن من جودة الشكل البد من زيادة عدد نقاط المتجه كما موضح بالمثال ادناه.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 22من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
عملية وضع شبكة على الرسم : grid
يقوم الماتالب بوضع شبكة على الرسم ,بحيث يكدون من السهل تحديد القديم من على الرسم حيث تأخذ األمر gridبعد
األمر plotكما هو مالحظ في الرسومات أعاله.
عملية دمج خاصيتين على الرسم:
يمكننا الماتالب من دمج خاصيتين مثال النجمة واللون واالحمر (* ،)rالدوائر واللون االزرق (.......... ،)bo
مثال :لو اردنا رسم شكلين لدالتي الزواية جاس ،وجتاس المعتمدة على المتغير المستقل س الموضح بيناتهم في
البرنامج ادناه ،فننا سوف نجتاج الى كتابة االمر ) subplot(..,..,..قبل اوامر ) ( plotونحدد في اماكن تواجد
الرسمة األولى وأماكن تواجد الرسمة الثانية؟ كما هو موضح ادناه...
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 23من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
clc
clear
;X=0:0.1:10
;)Y=sin(X
;)z=cos(X
;)subplot(1,2,1
;)'*plot(X,Y, 'b
grid
;)subplot(1,2,2
;)'plot(X,z, 'ro
grid
hold off
مالحظة :إذا كانت الرسمة تشغل أكثر من خانة يتم استخدام األقواس المربعة ،وتأخذ الشكل التالي ] أرقام جميع الخانات
التي تشغلها الرسمة [ وسنقوم بإعطاء مثال يوضح ذلك.
مثال :اذا حبينا ان نزود عدد الرسمات لتصبح عدد الصفوف 3وعدد األعمدة 3وأرقام الخانات التدي تشغلها الرسمة
األولى 1و 2و 6 ،4،5، 3على التوالي ،وأرقام الخانات التدي تشغل الرسمة الثانية 7وأرقام الخانات التي
تشغل الرسمة الثالثة هي 9كما موضح أدناه بالشكل التالي:
% program’s name threesubplot.m
clc
clear
;X=0:0.1:10
;)Y=sin(X
;)z=cos(X
;)v=exp(X
;)]subplot(3,3,[1 2 3 4 5 6
;)'*plot(X,Y, 'b
grid
;)subplot(3,3,7
;)'plot(X,z, 'ro
grid
;)subplot(3,3,9
;)'plot(X,v, 's
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 24من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
عرض نوافذ منفصلة:
يستخدم االمر figureلعرض نوافذ منفصلة كما االمثلة التالية:
%figuer.m
clc
;clear
;close all
;X=0:0.1:10
;)Y=sin(X
;)z=cos(X
;)v=exp(X
;)'*plot(X,Y, 'b
grid
figure
;)'plot(X,z, 'bo
grid
وضع عنوان على المحاور و على الرسمة
وضع عنوان على المحاور
)’Xlabel(‘X Axis
)’Ylabel(‘Y Axis
وضع على الرسمة
)’Title(‘The Sign Wave Graph
%labelAndTitle.m
;clear
;close all
;X=0:0.1:10
;)Y=sin(X
;)%z=cos(X
;)'*plot(X,Y, 'b
;)'xlabel(' X Axis
;)'yLabel('Y Axiz
;)'title('The Sine Wave Graph
grid
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 25من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
االمر Linspaceيقوم هذا االمر بتوليد متجه خطي من العناصر محدد بدايته ونهايته ومقدار االنتقال بين العناصر
)y = linspace(a,b
)y = linspace(a,b,n
االمر maxهذا االمر يقوم بايجاد العنصر االكبر داخل دالة )ymax=max(y
االمر findهذا األمر يقوم بإيجاد مكان العنصر داخل المتجه بمجرد تحديد خصا ئص هذا العنصر
)Find(y==ymax
وبالتالي إذا أردنا الحصول على قيمة Xعند القيمة العظمى لل
)xmax=x(ind Y,سنقوم بعمل التالي
%xmaxpoint.m
;clear
;close all
;)x=linspace(0,10,100
;)y=sin(x).*exp(-0.3*x
;)ymax=max(y
;)ind=find(y==ymax
;)xmax=x(ind
;)'*plot(x,y,xmax,ymax,'r
;)'xlabel('X-Axis
;)'ylabel('Y-Axis
;)'title('Maximum Point in Equation
;)'text(xmax+0.03,ymax+0.03,'Maximum Point
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 26من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
%xmaxpoint.m
;clear
;close all
;)x=linspace(0,10,100
;)y=sin(x).*exp(-0.3*x
;)ymax=max(y
;)ind=find(y==ymax
;)xmax=x(ind
hold on
;)'*plot(x,y,xmax,ymax,'r
;)'xlabel('X-Axis
;)'ylabel('Y-Axis
;)'title('Maximum Point in Equation
;)'text(xmax+0.03,ymax+0.03,'Maximum Point
grid
;)ymin=min(y
;)ind1=find(y==ymin
;)xmin=x(ind1
;)'*plot(x,y,xmin,ymin,'b
;)'text(xmin+0.03,ymin+0.03,'Mimum Point
grid
hold off
االمر Legend
يستخدم هذا األمر في وضع دليل على صفحة الرسم ليبين ماذا يعني كل لون على الرسم ,فمثالً سنقوم بوع األمر
legendفي المثال التالي علما ً أن هذا األمر البد من أن يأخذ الصورة التالية:
%%%%demshgraphics.m
(function me = dmeshgraphics )
clc
;close all
;clear all
;)x=linspace(0,10,100
;)y=sin(x
;)[x y]=meshgrid(x,y
z=sin(x).*exp(-
;)0.3*x)./(cos(y)+2
;)me=mesh(x,y,z
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 28من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
%%demshgraphics.m
ولرسم موجة جيب الزاوية البد من تعريف قيم tوالتعويض فيها ,ولكن كما ترون يصعب التعويض في المعادلة بسبب
وجودها بين قوسين ,وتلك األقواس هي بمثابة حاجز للتعويض وهنا يجب أن نخترق ذلك الحاجز وذلك بإستخدام األمر
eval,حيث يعمل األمر على البحث عن المعادلة بين األقواس ،ثم يبحث عن القيم التي سوف يتم تعويضها في تلك
المعادلة ،وسوف يتم كتابة البرنامج كالتالي في الماتالب
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 29من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ولكدن هذا يشترط أن يتم إدخال المعامالت coefficientsللمعادلتين ,وهذا بالتالي يتطلب التمحيص والتدقيق في كل
معادلة ,فإذا كثرت المعادالت ازداد الوقت المستغرق في البحث ،فتسهيالً للمستخدم يجب عمل برنامج إلدخال
المعادالت بشكل كامل ,فمثالً سنقوم بعمل برنامج لحل ثالثة معادالت
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 30من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 31من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 32من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Zero Crossing
هذا المثال الهام سنقوم بشرح كيفية رسم معادلة ووضع
دائرة زرقاء على مناطق تقاطعها مع محور السينات ،
والتي يجب أن تأخذ كالشكل المجاور
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 33من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
%zerocrossing.m
clc
;close all
;clear all
;x = -pi:pi/20:pi
;)y=sin(x
;)ind=find(y==0
;)x_crossing=x(ind
;)y_crossing=y(ind
;)'plot(x,y,x_crossing,y_crossing,'ro
grid
فما سبب هذه المشكلة ,حقيقة سببها ما يسمى بـ Digital Domain,فما هو Digital Domainمعنى ذلك أن أي
معادلة يتم رسمها ليست عبارة عن خط متصل وإنما مجموعة من النقاط ,تعتمد على عدد النقاط التي تم إختيارها في
رسم الدالة ,ثم التوصيل بين تلك النقاط ،فمثالً إذا قمنا بعمل برنامج لرسم دالة الجيب sine waveبعدد نقاط قليل،
كما في الشكل التالي:
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 34من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 35من 49
موفق البراق/د مقرر تمييز االنماط ومعالجة الصور العملي تقنية معلومات-كلية العلوم والهندسة-الجامعة الوطنية
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
gray2ind
Convert grayscale or binary image to
indexed image expand all in page
Syntax
[X, map] = gray2ind(I,n)
[X, map] = gray2ind(BW,n)
……….
I = imread('cameraman.tif');
[X, map] = gray2ind(I, 16);
imshow(X, map);
rgb2gray
Convert RGB image or colormap to
grayscale expand all in page
Syntax
I = rgb2gray(RGB)
newmap = rgb2gray(map)
……………………
Examples
Convert an RGB image to a grayscale image.
I = imread('board.tif');
J = rgb2gray(I);
figure, imshow(I), figure, imshow(J);
[X,map] = imread('trees.tif');
% Pass colormap to gpuArray
gmap = rgb2gray(gpuArray(map));
figure, imshow(X,map), figure,
imshow(X,gmap);
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
49 من36 الصفحة
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
العمليات الرياضية للصور
الصورة السالبة (: )Negative Image
;)'a=imread('cameraman.tif
)imshow(a
;b1=255-a
)figure, imshow(b1
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 37من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
جمع صورتين مختلفتين بشرط أن تكون لهما نفس الحجم
;)'I = imread('rice.png
= J
)'imread('cameraman.tif
;
;)K = imadd(I, J
figure, imshow(I),
figure, imshow(J),
;)figure, imshow(K
قسمة الصور ) : (Image Divisionقسمة الصورة على قيمة معينة مثال العدد 3
;)'I = imread('cameraman.tif
;)Iq = imdivide(I,3
;)figure, imshow(I), figure, imshow(Iq
ضرب الصور :immultiply :ضرب الصورة بنفسها بعد تحويل صنفها from uint8 to uint16
% Multiply an image by itself. Note how
the example converts the class
%of the image from uint8 to uint16 before
performing the multiplication
%to avoid truncating the results.
;)'I = imread('moon.tif
;)I16 = uint16(I
;)J = immultiply(I16,I16
)imshow(I), figure, imshow(J
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 39من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
تحسين الصورة المرشحات الحيزية ()Spatial Filtering
المرشحات هي عبارة عن دوال تؤثر في المركبات لتحويل فورييه للصورة .مرشح يعني ( ،)filterويوقم بتصفية الصورة من الشوائب العالقة أي
إلزالة الضوضاء او لتحسين الصورة ،حيث تطبق هذه المرشحات على محتوى الصورة مباشرتا(عناصرالصورة) وليس المجال الترددي وتنقسم
المرشحات الى ثالثة انواع هي:
وسيكون تطبيقه على الصوركما توضحها اشكال المرشحات الخطية ادناه باستخدام الدالة imfilter
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 40من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 41من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
-1الخطو االولى نرتب عناصر المصفوفة تصاعديا
3 3 4 4 5 5 6 7
-2نقسم عدد عناصر المصفوفة على 2الستخراج موقع العنصر الوسط
ناتج القسمة تقريبا العدد 5 9/2=4.5
-3نحدد موقع العدد الخامس على المصفوفة ونقوم باستبداله بالعدد ،5حيث سيتم تغيير العدد( )4بالعدد ()5
مرشح حيز التمرير المنخفض( +)Low Pass Spatial Filterالمرشح الوسطي(:)Mean Filter
% After use median filter+low pass
filter
;)'I = imread('cameraman.tif
;)'h = fspecial('average
;)K = medfilt2(I
;)I2 = imfilter(K,h
;)'imshow(I), title('Original Image
figure, imshow(I2), title('After use
;)'median filter+low pass filter
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 42من 49
موفق البراق/د مقرر تمييز االنماط ومعالجة الصور العملي تقنية معلومات-كلية العلوم والهندسة-الجامعة الوطنية
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Deblurring Images Using a Regularized Filter (fspecial creates Laplacian filters)
Step 1: Simulate a Blur and Noise
Step 2: Restore the Blurred and Noisy Image
Step 3: Reduce Noise Amplification and Ringing
Step 4: Use the Lagrange Multiplier
Step 5: Use a Different Constraint
And Related Works with following:
Find edges in intensity image Prewitt Method
Sobel Method Canny Method
Roberts Method Laplacian of Gaussian Method
Gaussian Pyramid Deblur image using regularized filter
I = checkerboard(8);
PSF = fspecial('gaussian',7,10);
V = .01;
BlurredNoisy = imnoise(imfilter(I,PSF),'gaussian',0,V);
NOISEPOWER = V*prod(size(I));
[J LAGRA] = deconvreg(BlurredNoisy,PSF,NOISEPOWER);
subplot(221); imshow(BlurredNoisy);
title('A = Blurred and Noisy');
subplot(222); imshow(J);
title('[J LAGRA] = deconvreg(A,PSF,NP)');
subplot(223);
imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA/10));
title('deconvreg(A,PSF,[],0.1*LAGRA)');
subplot(224);
imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA*10));
title('deconvreg(A,PSF,[],10*LAGRA)');
Find edges of objects in images using Sobel, Prewitt, Roberts, or Canny method :Edge Detection فحص الحدود
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
49 من43 الصفحة
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
%edgedetectionsmo.m
;)'I = imread('coins.png
figure, imshow(I), title('Orginal
;)'Image
;)'BW1 = edge(I,'sobel
;)'BW2 = edge(I,'canny
figure, imshow(BW1), title('Canny
;)'Detection Edge
figure, imshow(BW2), title('Sobel
;)'Detection Edge
Histogram
% imhist : Histogram of image data
;x = -4:0.1:4
;)y = randn(10000,1
)hist(y,x
%Calculate Histogram
;)'I = imread('pout.tif
)subplot(1,2,1), imshow(I
)subplot(1,2,2), imhist(I
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 44من 49
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Conditionals: if and switch
Often, a function needs to branch based on run-time conditions.
MATLAB offers features for this that are similar to those in most
languages. Here is an example illustrating most of the features of if.
)if isinf(x) || ˜isreal(x
)’!disp(’Bad input
;y = NaN
)elseif (x == round(x)) && (x > 0
;)y = prod(1:x-1
else
= y
switch units
’case ’length
)’disp(’meters
’case ’volume
)’disp(’liters
’case ’time
)’disp(’seconds
otherwise
)’disp(’I give up
end
Loops: for and while
;]>> f = [1 1
>> for n = 3:10
;)f(n) = f(n-1) + f(n-2
end
;n = 0
while abs(x) > 1
;x = x/2
;n = n+1
if n > 50, break, end
end
)~(function io=vectors
% function for input numericals
;)'xx(1,:)=input('Enter the vectors ', 's
;)x=STR2NUM(xx
;)n = length(x
D = zeros(n); % preallocation
for j = 1:n
for i = 1:n
;)D(i,j) = x(i) - x(j
end
;io=D
end
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 45من 49
موفق البراق/د مقرر تمييز االنماط ومعالجة الصور العملي تقنية معلومات-كلية العلوم والهندسة-الجامعة الوطنية
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
close all, clear all clc, format compact
% number of samples of each class
K = 30;
% define classes
q = .6; % offset of classes
A = [rand(1,K)-q; rand(1,K)+q];
B = [rand(1,K)+q; rand(1,K)+q];
C = [rand(1,K)+q; rand(1,K)-q];
D = [rand(1,K)-q; rand(1,K)-q];
% plot classes
plot(A(1,:),A(2,:),'bs')
hold on
grid on
plot(B(1,:),B(2,:),'r+')
plot(C(1,:),C(2,:),'go')
plot(D(1,:),D(2,:),'m*')
% text labels for classes
text(.5-q,.5+2*q,'Class A')
text(.5+q,.5+2*q,'Class B')
text(.5+q,.5-2*q,'Class C')
text(.5-q,.5-2*q,'Class D') % % Why this coding doesn't work?
% define output coding for classes % a = [0 0]';
a = [0 1]'; % Class a % b = [1 1]';
b = [1 1]'; % Class b % d = [0 1]';
c = [1 0]'; % Class c % c = [1 0]';
d = [0 0]'; % Class d % % Why this coding doesn't work?
% define inputs (combine samples all four % a = [0 1]';
classes) % b = [1 1]';
P = [A B C D]; % d = [1 0]';
% define targets % c = [0 1]';
T = [repmat(a,1,length(A)) repmat(b,1,length(B))
...
repmat(c,1,length(C)) repmat(d,1,length(D)) ];
%plotpv(P,T);
net=perceptron;
E = 1;
net.adaptParam.passes = 1;
linehandle = plotpc(net.IW{1},net.b{1});
n = 0;
while (sse(E) && n<1000)
n = n+1;
[net,Y,E] = adapt(net,P,T);
linehandle =
plotpc(net.IW{1},net.b{1},linehandle);
drawnow;
end
% show perceptron structure
view(net);
% example classify an input vector of [0.7; 1.2]
%p = [0.7; 1.2]
%y = net(p)
% compare response with output coding (a,b,c,d)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
49 من46 الصفحة
موفق البراق/د مقرر تمييز االنماط ومعالجة الصور العملي تقنية معلومات-كلية العلوم والهندسة-الجامعة الوطنية
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
close all, clear all, clc, format compact
% number of samples of each class
K = 100;
% define 4 clusters of input data
q = .6; % offset of classes
A = [rand(1,K)-q; rand(1,K)+q];
B = [rand(1,K)+q; rand(1,K)+q];
C = [rand(1,K)+q; rand(1,K)-q];
D = [rand(1,K)-q; rand(1,K)-q];
% plot clusters
figure(1)
plot(A(1,:),A(2,:),'k+')
hold on
grid on
plot(B(1,:),B(2,:),'bd')
plot(C(1,:),C(2,:),'k+')
plot(D(1,:),D(2,:),'bd')
% text labels for clusters
text(.5-q,.5+2*q,'Class A')
text(.5+q,.5+2*q,'Class B')
text(.5+q,.5-2*q,'Class A')
text(.5-q,.5-2*q,'Class B')
% encode clusters a and c as one class, and b and
d as another class
a = -1; % a | b
c = -1; % -------
b = 1; % d | c
d = 1; %
% define inputs (combine samples all four
classes)
P = [A B C D];
% define targets
T = [repmat(a,1,length(A)) repmat(b,1,length(B))
...
repmat(c,1,length(C)) repmat(d,1,length(D)) ];
% view inputs |outputs
%[P' T']
% create a neural network
net = feedforwardnet([5 3]);
% train net
net.divideParam.trainRatio = 1; % training set
[%]
net.divideParam.valRatio = 0; % validation set
[%]
net.divideParam.testRatio = 0; % test set [%]
% train a neural network
[net,tr,Y,E] = train(net,P,T);
% show network
view(net)
figure(2)
plot(T','linewidth',2)
hold on
plot(Y','r--')
grid on
%legend('Targets','Network
response','location','best')
ylim([-1.25 1.25])
% generate a grid
span = -1:.005:2;
[P1,P2] = meshgrid(span,span);
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
49 من47 الصفحة
د/موفق البراق مقرر تمييز االنماط ومعالجة الصور العملي الجامعة الوطنية-كلية العلوم والهندسة-تقنية معلومات
ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
;'])pp = [P1(:) P2(:
% simulate neural network on a grid
;)aa = net(pp
]% translate output into [-1,1
;)%aa = -1 + 2*(aa>0
% plot classification regions
)figure(1
mesh(P1,P2,reshape(aa,length(span),length(span))-
;)5
colormap cool
)'imtool('moon.tif
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الصفحة 49من 49