You are on page 1of 49

‫د‪/‬موفق البراق‬ ‫مقرر تمييز االنماط ومعالجة الصور العملي‬ ‫الجامعة الوطنية‪-‬كلية العلوم والهندسة‪-‬تقنية معلومات‬

‫ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬

‫ما هو الماتالب ؟‬

‫الماتالب هي كلمة بمعنى "مختبر المصفوفات" او " المعمل الرياضي " وهو برنامج رائد في التطبيقات الهندسية و‬
‫الرياضية إنتاج شركة ماثووركس يستخدم البرنامج مع العديد من التطبيقات و االدوات المساعدة األخرى مثل‬
‫)‪(Simulink‬وهي لغة ذات أداء عالي للحسابات التقنية ‪,‬حيت تدمج التخمين ‪ ,‬والبرمجة بطريقة سهلة االستعمال في‬
‫بيئتها حيث المشاكل و الحلول تكون معبرة فى مجموعة رموز رياضية ذات عالقة ببعضها‪.‬‬

‫والماتالب نظام فعال حيث عنصر البيانات األساسية هي المصفوفات التي ال تتطلب أبعاد و كتبت لتزود التعامل السهل‬
‫لبرمجة المصفوفات المتطورة بواسطة مشاريع ‪ LINPACK & EISPACK‬التي مع بعضها تقـدم الحالة للفن في‬
‫برمجة حل المصفوفـات‪.‬‬

‫وهو أداة مفيدة جداً في تحليل وتصميم األنظمة اإللكترونية باستخدام الحاسب‪ ،‬وقد أصبحت ذات تواجد واسع في‬
‫المناهج الهندسية كما أنها تسخدم صناعيا ً في تصميم األنظمة ومحاكاتها‪.‬‬

‫جاءت كلمة ماتالب ‪ MATLAB‬من األحرف األولى للعبارة ‪ Matrix Laboratory‬أي مختبر المصفوفات‪ ،‬يحث‬
‫تتعامل لغة ماتالب مع الثوابت والمتحوالت كمصفوفات رياضية‪ ،‬وبنا ًء على ذلك العمليات الرياضية االفتراضية في‬
‫ماتالب هي عمليات على مصفوفات‪ .‬مثالً ‪: a * b‬هي عملية ضرب مصفوفتين األولى ‪ a‬والثانية‪b‬‬

‫كما يمكننا أن نستخدم الميزات المبنية في ماتالب لحل أنواع عديدة من المسائل العددية البسيطة‪ ،‬مثل حل معادلتين‬
‫بمجهولين‪:‬‬

‫‪X + 2Y = 24 12X – 5Y = 10‬‬

‫والمزيد من المسائل المعقدة مثل االستيفاء الرياضي‪ ،‬إيجاد حسابات المصفوفات‪ ،‬إنجاز عمليات معالجة اإلشارة‬
‫كتحويل فورييه‪ ،‬وبناء وتوجيه الشبكات العصبونية‪.‬‬

‫من أهم وأقوى الميزات في ماتالب أنه قادر على الرسم البياني للعديد من أنواع المنحنيات‪ ،‬ويجعلك تستطيع تصور‬
‫وتخيل أعقد التوابع الرياضية والنتائج المخبرية بيانياً‪ .‬مثالً‪ :‬الصور الثالثة التالية لمنحنيات بيانية رسمت باستخدام‬
‫توابع ماتالب للرسم البياني‪.‬‬

‫هذا يعني أن البرنامج المكتوب بلغة ماتالب سيكون موجزاً أكثر مما لو كان سيكتب بأية لغة برمجة أخرى‪ ،‬فالعمليات‬
‫الرياضية المعقدة يمكن كتابتها في أسطر قليلة من لغة ماتالب دون الحاجة إلى الحلقات البرمجية ثم تنفيذها باستخدام‬
‫الحاسب للحصول على النتائج‪ .‬هذه المصفوفات ستجعل البرنامج المكتوب بلغة ماتالب صعبا ً للفهم لكنها ستجعله ذو‬
‫كفاءات عالية في الحسابات واإليجاز‪ ،‬مما جعلها مجمعا ً للمهندسين على اختالف اختصاصاتهم‪ ،‬فصارت ماتالب تحمل‬
‫ً‬
‫وخاصة اإللكترونية‪.‬‬ ‫العديد من المكتبات البرمجية في مختلف االختصاصات الهندسية‬
‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫الصفحة ‪ 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‬‬
‫خطية و المتجانسة و الغير متجانسة‪ ,‬حل المعادال التفاضلية المتجانسة و الجزئية‪...,‬الخ)‬

‫تلك األشياء التي سبق ذكرها هي مجرد نقطة في بحر استخدامات هدا البرنامج المذهل‪.‬‬

‫أنظمة الماتالب‬

‫وتتألف من ‪ 5‬أجزاء رئيسية‬

‫أو ًال لغة ماتالب‬

‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫الصفحة ‪ 3‬من ‪49‬‬
‫د‪/‬موفق البراق‬ ‫مقرر تمييز االنماط ومعالجة الصور العملي‬ ‫الجامعة الوطنية‪-‬كلية العلوم والهندسة‪-‬تقنية معلومات‬
‫ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫وهي لغة نستطيع أن نشبهها بوعاء يحتوي مجمل اللغات البرمجية التي يتعامل معها المبرمجون في مختلف المجاالت‬
‫العلمية ‪ ،‬فهي لغة عالية المستوى مبنية على مبدأ المصفوفات والمحددات باإلضافة للجمل التدفقية والتوابع وبنى‬
‫المعطيات وملفات الدخل والخرج ومختلف مزايا البرمجة غرضية التوجه ‪ ،‬وهي ليست مدخالً ال مخرج له ‪ ،‬بل‬
‫يستطيع المستخدم أن يبرمج بواسطتها تطبيقات سهلة وبسيطة دون الدخول في تعقيدات علم البرمجة الصعب ‪ ،‬كما‬
‫تسمح له في ذات الوقت أن يتعمق ويكتب برامجه التطبيقية الفائقة في التعقيد ‪.‬‬

‫ثانياً بيئة عمل ماتالب‬


‫وهي عبارة عن مجموعة األدوات والمزايا التي يتعامل مستخدم اللغة ‪ ،‬فهي تسهيالت في عمليات إدارة المتحوالت‬
‫التي يستخدمها المبرمج في برنامجه ‪ ،‬كما تتيح استخداما ً سهالً لعمليات تبادل المعطيات بين البنى البرمجية المختلفة ‪.‬‬
‫وبالطبع ‪ ،‬تملك البيئة مجموعة هائلة من تطبيقات اإلدارة والتطوير والتصحيح وتناول النصوص البرمجية المكتوبة‬
‫باستخدامها‬

‫ثالثاً نظام التداول البياني الرسومي‬


‫وهو نظام التعامل البياني الخاص باللغة ‪ .‬يتألف من أوامر برمجية عالية المستوى لعمليات التمثيل البياني‬
‫ثالثي وثنائي األبعاد للمعطيات ومعالجة اإلشارة والرسوم المتحركة والعروض الرسومية ‪ ،‬كما تتضمن في‬
‫ذات الوقت أوامر ضعيفة المستوى تسمح للمستخدم أن يختار مزايا العرض البياني ببناء واجهات تعامل‬
‫رسومية وبيانية خاصة بتطبيقاته‪.‬‬

‫رابعاً مكتبة التوابع الرياضية‬


‫وهي مجموعة ضخمة وهائلة من الخوارزميات الحسوبية الرياضية ‪ ،‬تبدأ بأبسطها كعمليات الجمع والتمثيل المثلثي‬
‫تنتهي بأعقدها كعمليات قلب المصفوفات المتعددة األبعاد وتوابع بيسل وتحويالت فورييه‬

‫خامساً واجهة البرنامج التطبيقية‬


‫وهي المكتبة التي تساعد المستخدم في كتابة البرامج بلغة السي والفورتران لتتفاعل مع لغة ماتالب ‪.‬وتتضمن تسهيالت‬
‫في عمليات االستدعاء للتوابع الجاهزة من مكتبة اللغة األساسية ( تستخدم في ذلك آليات الربط الدايناميكي )‪ ،‬واستدعاء‬
‫المحركات الحسوبية ‪ ،‬وكذلك ‪ ،‬قراءة وتحرير البرامج المكتوبة أساسا ً باستخدام الماتالب‬

‫المتغيرات وتعيين القيم ‪Variables and Assignments‬‬


‫‪>> x = 7‬‬ ‫‪To clear the value of the variable x, type‬‬
‫= ‪x‬‬ ‫‪clear x.‬‬
‫‪7‬‬ ‫‪>> clear x; syms x y‬‬
‫‪>> z = xˆ2 - 2*x*y + y‬‬
‫‪>> xˆ2 - 2*x*y + y‬‬ ‫= ‪z‬‬
‫= ‪ans‬‬ ‫‪x^2-2*x*y+y‬‬
‫‪49-13*y‬‬ ‫‪>> 5*y*z‬‬
‫= ‪ans‬‬

‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫الصفحة ‪ 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‬‬
‫د‪/‬موفق البراق‬ ‫مقرر تمييز االنماط ومعالجة الصور العملي‬ ‫الجامعة الوطنية‪-‬كلية العلوم والهندسة‪-‬تقنية معلومات‬
‫ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫الرسم بالشكل اعاله ‪ .‬حتى نحسن من جودة الشكل البد من زيادة عدد نقاط المتجه كما موضح بالمثال ادناه‪.‬‬

‫تالحظ ان الرسمة قد تحسنت كثيرا‬

‫‪% Program name’s plot3.m‬‬


‫‪clc‬‬
‫‪clear‬‬
‫;‪X=0:0.1:10‬‬
‫;)‪Y=sin(X‬‬
‫‪%plot(X,Y,'*');% Draw Start‬‬
‫‪%plot(X,Y,'r'); % Red Line‬‬
‫‪plot(X,Y,'g'); %Green Line‬‬
‫‪grid; % Drawing Mish‬‬

‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫الصفحة ‪ 22‬من ‪49‬‬
‫د‪/‬موفق البراق‬ ‫مقرر تمييز االنماط ومعالجة الصور العملي‬ ‫الجامعة الوطنية‪-‬كلية العلوم والهندسة‪-‬تقنية معلومات‬
‫ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫عملية وضع شبكة على الرسم ‪: grid‬‬
‫يقوم الماتالب بوضع شبكة على الرسم ‪,‬بحيث يكدون من السهل تحديد القديم من على الرسم حيث تأخذ األمر ‪ grid‬بعد‬
‫األمر ‪ plot‬كما هو مالحظ في الرسومات أعاله‪.‬‬
‫عملية دمج خاصيتين على الرسم‪:‬‬
‫يمكننا الماتالب من دمج خاصيتين مثال النجمة واللون واالحمر (*‪ ،)r‬الدوائر واللون االزرق (‪.......... ،)bo‬‬

‫عملية وضع رسمتين في نافذة واحدة‪:‬‬


‫يوفر الماتالب االمر ‪ hold on‬لعمل رسمتين في نافذة واحدة‪ .‬يتم ذلك باستخدام األمر ‪ Hold on‬قبل األمر ‪plot‬‬
‫لكي يتم وضع الرستمين في نافذة واحدة ‪ ،‬وفي نهاية األمر يتم وضع األمر ‪ hold off,‬أنظر الصورة التالية‪:‬‬
‫‪Clc‬‬
‫‪clear‬‬
‫;‪X=0:0.1:10‬‬
‫;)‪Y=sin(X‬‬
‫;)‪z=cos(X‬‬
‫;‪hold on‬‬
‫;)‪plot(X,Y‬‬
‫;)'‪plot(X,z, 'bo‬‬ ‫‪% The Line Will be Green‬‬
‫‪grid‬‬
‫‪hold off‬‬

‫إنشاء رسومات منفصلة في نافذة واحدة‪:‬‬


‫يوفر الماتالب امكانية عمل أكثر من رسمة على نفس النافذ ‪ ،‬و ذلك باستخدام األمر ‪، subplot‬قبل كل أمر ‪، plot‬‬
‫حيث يعمل األمدر ‪ subplot‬من خالل تحديد عدد الرسومات التي ستقوم بإظهارها‪ ،‬حيث يقوم األمر ‪ subplot‬على‬
‫وضع الصور وكأنها مصفوفة أو متجه‪ ،‬ويجب عند استخدام األمر معرفة عدد الرسومات التي ستظهرها وكيفية‬
‫وضعها‪ ،‬ويفضل استخدام تخطيط مسبق لتحديد األماكن التي ستقوم بوضع الرسومات بها كما هو موضح ادناه‪:‬‬

‫مثال‪ :‬لو اردنا رسم شكلين لدالتي الزواية جاس ‪ ،‬وجتاس المعتمدة على المتغير المستقل س الموضح بيناتهم في‬
‫البرنامج ادناه ‪ ،‬فننا سوف نجتاج الى كتابة االمر )‪ 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‬في المثال التالي علما ً أن هذا األمر البد من أن يأخذ الصورة التالية‪:‬‬

‫ويمكن كتابة البرنامج التالي ‪:‬‬


‫‪%legend.m‬‬
‫;‪clear‬‬
‫;‪close all‬‬
‫;)‪x=linspace(0,10,100‬‬
‫;)‪y=sin(x).*cos(x‬‬
‫;)'‪title('Making the Legend Command‬‬
‫;)'‪xlabel('X-Axis‬‬
‫;)'‪ylabel('Y-Axis‬‬
‫;)‪plot(x,y‬‬
‫;)'‪h=legend('x', 'y', '2‬‬
‫;)‪set(h,‬‬
‫‪grid‬‬

‫الرسم ثالثي األبعاد‪Three Dimensional Plotting :‬‬


‫كما تعلمنا أن الرسم ثالثي األبعاد يعتمد على ثالثة محاور لرسمها محور ‪ X , Y & Z ,‬وأن كالً من ‪ X & Y‬يمثالن‬
‫المستوى األفقي ‪,‬وأن المحور ‪ Z‬يمثل االرتفاع ‪ ,‬ولكن تلك القيم هي قيم النقاط الموجودة المحاور ‪,‬ولكن حتى يتم رسم‬
‫أي نقطة في المستوى األفقي يجب أن نقوم تعريف ذلك للماتالب وذلك باستخدام األمر ‪ meshgrid‬حيث يقوم‬
‫الماتالب بإنتاج مصفوفة يتم تكرار قيم محور السينات ‪ X-Axis‬بنفس طول محور الصادات ‪ Y-Axis,‬كما يقوم‬
‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫الصفحة ‪ 27‬من ‪49‬‬
‫د‪/‬موفق البراق‬ ‫مقرر تمييز االنماط ومعالجة الصور العملي‬ ‫الجامعة الوطنية‪-‬كلية العلوم والهندسة‪-‬تقنية معلومات‬
‫ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫بتكرار قيم محور الصادات ‪ Y-Axis‬بنفس طول قيم السينات ‪ X-Axis,‬وبهذا تكون المصفوفة المتكونة هي المستوى‬
‫األفقي كما هو واضح بالرسم التالي‬

‫‪%%%%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‬‬

‫حل ثالث معادالت‬


‫‪EVAL‬‬
‫قبل البدء بالتطبيق األول ‪,‬البد من ذكر أمر هام وهو األمر ‪ eval‬والذي له هدف أكثر من را ئع سيتضح بمثال ‪,‬لنقل‬
‫أن لدينا معادلة جيب الزاوية ‪ Sine Wave‬ولكن تم وضعها في الصورة التالية في الماتالب‬

‫ولرسم موجة جيب الزاوية البد من تعريف قيم ‪ 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‬‬
‫د‪/‬موفق البراق‬ ‫مقرر تمييز االنماط ومعالجة الصور العملي‬ ‫الجامعة الوطنية‪-‬كلية العلوم والهندسة‪-‬تقنية معلومات‬
‫ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬

‫ثالثا‪ :‬معالجة الصور الرقمية‬


‫تحويالت الصور الرقمية‬

‫‪Functions in Image Processing Toolbox‬‬ ‫دوال التحويالت للصور الرقمية‬


‫‪Basic Import and Export‬‬
‫سوف نركز على بعض دوال التحويالت للصور‬
‫‪Imread %Read image from graphics file‬‬ ‫الرقمية وسوف نتدرب عليها من خالل التمارين‬
‫‪Imwrite % Write image to graphics file‬‬ ‫التالية‪:‬‬
‫‪Imfinfo % Information about graphics file‬‬
‫‪%%%% imageProcessing.m‬‬
‫;)'‪a=imread('board.tif‬‬
‫;)‪a_gray=rgb2gray(a‬‬
‫;)‪figure, imshow(a_gray‬‬
‫;)‪figure, imhist(a_gray‬‬
‫;)‪% subplot(1,2,1), imshow(a_gray‬‬
‫;)‪% subplot(1,2,2), imhist(a_gray‬‬
‫;)‪adj=imadjust(a_gray‬‬
‫;)‪figure, imhist(adj‬‬
‫;)‪c=im2bw(a_gray‬‬
‫;)‪figure, imshow(c‬‬
‫;)‪subplot(1,4,1), imshow(a_gray‬‬
‫;)‪subplot(1,4,2), imhist(a_gray‬‬
‫;)‪subplot(1,4,3), imshow(c‬‬
‫;)‪subplot(1,4,4), imhist(c‬‬

‫‪Convert indexed image to grayscale image‬‬


‫‪load trees‬‬
‫;)‪I = ind2gray(X,map‬‬
‫)‪imshow(X,map‬‬
‫)‪figure, imshow(I‬‬

‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫الصفحة ‪ 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);

Convert an RGB image to a grayscale image


I = gpuArray(imread('board.tif'));
J = rgb2gray(I);
figure, imshow(I), figure, imshow(J);

Convert the colormap to a grayscale


colormap.
[X,map] = imread('trees.tif');
gmap = rgb2gray(map);
figure, imshow(X,map), figure,
imshow(X,gmap);
Convert the colormap to a grayscale
colormap on a GPU. Note how the example
pass the colormap to the gpuArray
function.

[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‬‬

‫‪ :(Image‬طرح قيمة معينة من صورة‬ ‫الصور)‪Subtraction‬‬ ‫طرح‬


‫‪%% ImageAlgapraOperation.m‬‬
‫‪%%I = imread('any Image');% any image‬‬
‫‪%%Iq = imsubtract(I,50);% any value‬‬
‫>>>>>>>>>>>>>>>>>> ‪%%‬‬
‫;‪clc‬‬
‫;‪close all‬‬
‫;‪clear all‬‬
‫;)'‪I = imread('cameraman.tif‬‬
‫;)‪Iq = imsubtract(I,50‬‬
‫‪figure, imshow(I), figure,‬‬
‫)‪imshow(Iq‬‬

‫طرح صورتين مختلفتين بشرط أن تكون لهما نفس الحجم‬


‫;)'‪I = imread('rice.png‬‬
‫= ‪J‬‬
‫)'‪imread('cameraman.tif‬‬
‫;‬
‫;)‪K = imsubtract(I, J‬‬
‫‪figure, imshow(I),‬‬
‫‪figure, imshow(J),‬‬
‫;)‪figure, imshow(K‬‬

‫‪ : (Image‬جمع قيمة معينة الى صورة‬ ‫)‪Addition‬‬ ‫جمع الصور‬


‫;)'‪I = imread('cameraman.tif‬‬
‫;)‪Iq = imadd(I,50‬‬
‫;)‪figure, imshow(I), figure, imshow(Iq‬‬

‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫الصفحة ‪ 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‬‬

‫قسمة صورتين مختلفتين بشرط أن تكون لهما نفس الحجم‬


‫;)'‪I = imread('rice.png‬‬
‫= ‪J‬‬
‫)'‪imread('cameraman.tif‬‬
‫;‬
‫;)‪K = imdivide(I, J‬‬
‫‪figure, imshow(I),‬‬
‫‪figure, imshow(J),‬‬
‫)][‪figure, imshow(K,‬‬

‫القيمة الصحيحة من الصورة ‪)Absolute difference of two images( imabsdiff‬‬


‫‪% imabsdiff :Absolute difference‬‬
‫‪of two images‬‬
‫;)'‪I = imread('cameraman.tif‬‬
‫= ‪J‬‬
‫)'‪uint8(filter2(fspecial('gaussian‬‬
‫;))‪, I‬‬
‫;)‪K = imabsdiff(I,J‬‬
‫‪figure, imshow(I), figure,‬‬
‫)][‪imshow(J),figure, imshow(K,‬‬

‫اكمال الصورة ‪ imcomplement‬باعتماد الصنف (‪)uint8‬‬


‫‪%% Create the complement of a uint8 array‬‬ ‫‪Imcomplement : Complement image‬‬
‫;)]‪X = uint8([ 255 10 75; 44 225 100‬‬ ‫‪Syntax‬‬
‫;)‪X2 = imcomplement(X‬‬
‫;(‪IM2 = imcomplement(IM‬‬
‫‪Ans‬‬ ‫;)‪gpuarrayIM2 = imcomplement(gpuarrayIM‬‬
‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫الصفحة ‪ 38‬من ‪49‬‬
‫د‪/‬موفق البراق‬ ‫مقرر تمييز االنماط ومعالجة الصور العملي‬ ‫الجامعة الوطنية‪-‬كلية العلوم والهندسة‪-‬تقنية معلومات‬
‫ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫= ‪X2‬‬ ‫‪0 245 180‬‬
‫‪211 30 155‬‬
‫تكملة الصورة‪ :‬بعكس لون الصورة من االسود الى االبيض والعكس ;)‪bw2 = imcomplement(bw‬‬
‫‪%Reverse black and white in a binary‬‬
‫‪image‬‬
‫;)'‪bw = imread('text.png‬‬
‫;)‪bw2 = imcomplement(bw‬‬
‫)‪subplot(1,2,1),imshow(bw‬‬
‫)‪subplot(1,2,2),imshow(bw2‬‬

‫‪%Create the complement of an intensity‬‬ ‫تكملة كثافة الصورة‬


‫‪image‬‬
‫;)'‪I = imread('glass.png‬‬
‫;)‪J = imcomplement(I‬‬
‫)‪imshow(I), figure, imshow(J‬‬

‫الجمع الخطي للصورة ‪)Linear combination of images( imlincomb‬‬


‫;)'‪I = imread('cameraman.tif‬‬
‫‪J = uint8(filter2(fspecial('gaussian'),‬‬
‫;))‪I‬‬
‫= )‪K = imlincomb(1,I,-1,J,128); % K(r,c‬‬
‫‪I(r,c) - J(r,c) + 128‬‬
‫)‪subplot(1,3,1),imshow(I‬‬
‫)‪subplot(1,3,2),imshow(J‬‬
‫)‪subplot(1,3,3),imshow(K‬‬
‫ضرب الصور‪ :immultiply :‬ضرب الصورة بعدد (‪)0.5‬‬
‫‪%Scale an image by a constant factor:‬‬
‫;)'‪I = imread('moon.tif‬‬
‫;)‪J = immultiply(I,0.5‬‬
‫)‪subplot(1,2,1), imshow(I‬‬
‫)‪subplot(1,2,2), imshow(J‬‬

‫ضرب الصور‪ :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‬ويوقم بتصفية الصورة من الشوائب العالقة أي‬
‫إلزالة الضوضاء او لتحسين الصورة ‪ ،‬حيث تطبق هذه المرشحات على محتوى الصورة مباشرتا(عناصرالصورة) وليس المجال الترددي وتنقسم‬
‫المرشحات الى ثالثة انواع هي‪:‬‬

‫‪Mean Filters‬‬ ‫‪ -1‬مرشحات المتوسط‬


‫‪Median Filters‬‬ ‫‪ -2‬مرشحات الوسيط‬
‫‪ -3‬مرشحات التحسين ‪Enhancement Filters‬‬

‫مثال ‪ :‬استخدم ماسك(قناع ‪ )Mask‬ال ‪ Mean‬على جزء الصورة التالية‪:‬‬

‫وسيكون تطبيقه على الصوركما توضحها اشكال المرشحات الخطية ادناه باستخدام الدالة ‪imfilter‬‬

‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫الصفحة ‪ 40‬من ‪49‬‬
‫د‪/‬موفق البراق‬ ‫مقرر تمييز االنماط ومعالجة الصور العملي‬ ‫الجامعة الوطنية‪-‬كلية العلوم والهندسة‪-‬تقنية معلومات‬
‫ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬

‫‪Imfilter‬‬ ‫المرشح الخطي)‪ (smoothing linear filter‬بقيمة ‪5‬‬


‫;)'‪I = imread('cameraman.tif‬‬
‫;‪h = ones(5,5) / 25‬‬
‫;)‪I2 = imfilter(I,h‬‬
‫;)'‪imshow(I), title('Original Image‬‬
‫‪figure, imshow(I2), title('smoothing‬‬
‫)'‪filter linear image‬‬

‫المرشح الخطي )‪(smoothing linear filter‬بقيمة ‪: 3‬‬


‫;)'‪I = imread('cameraman.tif‬‬
‫;‪h = ones(3,3)/9‬‬
‫;)‪I2 = imfilter(I,h‬‬
‫;)'‪imshow(I), title('Original Image‬‬
‫‪figure, imshow(I2), title('smoothing‬‬
‫)'‪filter linear image‬‬

‫مرشح حيز التمرير المنخفض(‪:)Low Pass Spatial Filter‬‬


‫‪% fspecial: Create predefined 2-D‬‬
‫‪%filter Create predefined 2-D filter‬‬
‫;)'‪I = imread('cameraman.tif‬‬
‫;)'‪h = fspecial('average‬‬
‫;)‪I2 = imfilter(I,h‬‬
‫;)'‪imshow(I), title('Original Image‬‬
‫‪figure, imshow(I2), title('After Low‬‬
‫;)'‪Pass Image‬‬

‫مرشح زيادة حدة التفاصيل (‪:)Sharpening Filter‬‬


‫‪% Sharpening Filter‬‬
‫;)'‪I = imread('cameraman.tif‬‬
‫;)'‪h = fspecial('unsharp‬‬
‫;)‪I2 = imfilter(I,h‬‬
‫‪imshow(I), title('Original‬‬
‫)'‪Image‬‬
‫'(‪figure, imshow(I2), title‬‬
‫)'‪Sharpening Image‬‬

‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫الصفحة ‪ 41‬من ‪49‬‬
‫د‪/‬موفق البراق‬ ‫مقرر تمييز االنماط ومعالجة الصور العملي‬ ‫الجامعة الوطنية‪-‬كلية العلوم والهندسة‪-‬تقنية معلومات‬
‫ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫‪ -1‬الخطو االولى نرتب عناصر المصفوفة تصاعديا‬
‫‪3 3 4 4 5 5 6 7‬‬
‫‪ -2‬نقسم عدد عناصر المصفوفة على ‪ 2‬الستخراج موقع العنصر الوسط‬
‫ناتج القسمة تقريبا العدد ‪5‬‬ ‫‪9/2=4.5‬‬
‫‪ -3‬نحدد موقع العدد الخامس على المصفوفة ونقوم باستبداله بالعدد ‪ ،5‬حيث سيتم تغيير العدد(‪ )4‬بالعدد (‪)5‬‬

‫مرشح التشويش الملح والبسباس ;)‪J = imnoise(I,'salt & pepper',0.02‬‬

‫ازالة التشويش مع مرشح المعدل ‪filter2‬‬


‫‪%Filter the noisy image with an‬‬
‫‪averaging filter and display the‬‬
‫‪results.‬‬
‫;)'‪I = imread('eight.tif‬‬
‫)‪imshow(I‬‬
‫;)‪J = imnoise(I,'salt & pepper',0.02‬‬
‫)‪figure, imshow(J‬‬
‫= ‪K‬‬
‫;‪filter2(fspecial('average',3),J)/255‬‬
‫)‪figure, imshow(K‬‬

‫;)‪K = medfilt2(J‬‬ ‫مرشح الوسيط إلزالة التشويش ‪Remove Noises‬‬


‫;)'‪I = imread('eight.tif‬‬
‫;)‪J = imnoise(I,'salt&pepper',0.02‬‬
‫;)‪K = medfilt2(J‬‬
‫‪figure, imshow(J), figure,‬‬
‫)‪imshow(K‬‬

‫مرشح حيز التمرير المنخفض(‪ +)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 ‫فحص الحدود‬

Detecting Edges Using the edge Function

%Read image and display it.


% Apply the Sobel edge detectors to
the image and display them.
I = imread('coins.png');
figure, imshow(I),,title('Orginal
Image');
BW1 = edge(I,'sobel');
figure, imshow(BW1), ,title('After
use Soble filter');

‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
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‬‬

‫‪%Enhance the contrast of an intensity‬‬


‫‪image using histogram equalization‬‬
‫;)'‪I = imread('tire.tif‬‬
‫;)‪J = histeq(I‬‬
‫;)‪subplot(1,4,1), imshow(I‬‬
‫;)‪subplot(1,4,2), imshow(J‬‬
‫‪%Enhance the contrast of an intensity‬‬
‫‪image using histogram equalization‬‬
‫;)'‪I = imread('tire.tif‬‬
‫;)‪J = histeq(I‬‬
‫;)‪subplot(1,4,1), imshow(I‬‬
‫;)‪subplot(1,4,2), imshow(J‬‬
‫;)‪subplot(1,4,3), imhist(I‬‬
‫;)‪subplot(1,4,4), imhist(J‬‬

‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫الصفحة ‪ 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‬‬

‫;‪>> x = 1:100; s = 0‬‬


‫))‪>> for j = find(isprime(x‬‬
‫;)‪s = s + x(j‬‬
‫‪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‬‬

‫‪The Pixel Region tool superimposes a‬‬


‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫الصفحة ‪ 48‬من ‪49‬‬
‫د‪/‬موفق البراق‬ ‫مقرر تمييز االنماط ومعالجة الصور العملي‬ ‫الجامعة الوطنية‪-‬كلية العلوم والهندسة‪-‬تقنية معلومات‬
‫ـــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫‪rectangle, called the pixel region rectangle, over the image displayed in the‬‬
‫‪Image Tool. This rectangle defines the group of pixels that are displayed, in‬‬
‫‪extreme close-up view, in the Pixel Region tool window‬‬

‫]‪[0.5 0.5 358 537‬‬

‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫الصفحة ‪ 49‬من ‪49‬‬

You might also like