السلام عليكم نبدأ إن شاء الله المحاضرة أو الجزء
الأخير من محاضرة اللي هي image processing فيه هن
جزء اتكلمنا عن ال arithmetic operation على الصورة
وحكينا عن ال subtraction و ال division و ال
addition صح؟ و ال averaging كمان حكينا فيها و بقى
عندنا ال logical arithmetic عفوا logical
processing اللي هم ال and و ال or طيب بدنا نشوف إيش
هم ال logical operation وإيش هيكون وظيفتهم على
الصورة أو كيف راح نشتغلهم على الصورة فاكرين في
مادة ال introduction؟ فاكرين في مادة ال
introduction إيش أخذنا حاجة اسمها ال mask؟ تمام
فاكرينه ولا نذكركم فيه؟ في أن كان عندي شغلة
نعم، أيوة، في عندي في ال mask، إيش يعني كلمة mask؟
قصدنا إنه أنا في جزء من البيانات بدنا نخبيه أو نظهر
جزء معين تمام؟ و في أحيانا بدنا نجمع مجموعة من
البيانات كلها تكون إيه في الناتج فكان عندي أنواع ال
mask أو ال logical operation لل mask يا إما and يا
إما or يا إما xor صح ولا لأ؟ طيب ال and لما كنت
أعمل نفترض .. نفترض إن أنا عندي الرقم كان بالشكل
هذا 1 0 1 1 0 تمام؟ و جيت عملت and هي ال logical
operation بين و بين temp يعني pattern معين ك ..
على سبيل المثال عملنا حاجة زي كده 001100
إيش الجواب؟ إيش علاقة ال and؟ ال two bits بال and؟
بكون true؟ لو كانوا اثنين true غير كده بيطلع الجواب
false صح؟ فإيش هيطيني هنا؟ zero, zero, واحد, واحد,
zero, zero يبقى أنا إيش سويت؟ فقط .. فقط إيش أنا
كان شكل ال output اللي بدي إياه؟
الأول two bit و آخر two bit بدنا إياهم zero تمام؟ و
النص النص X ماشي يعني X؟ حسب قيمة هذا ال input تبعي
هذا مين؟ ايه ال input اللي إحنا بنشتغل عليه؟ X1 و
X2 حسب طول ال bits، مظبوط؟ يبقى أنا لو طلعت هنا
في الناتج إيش علاقة هدول ال two bit بالرقم اللي
إحنا دخلناهم هم هدول واحد و واحد اللي عملناهم input
هم اللي طلعوا أما باقية الخانات أول خانتين و آخر
خانتين ما طلعوا أخفيناهم إيش طلع بدالهم؟ Zero و
Zero طبعا؟ طبعا لو أنا عملت or نفس الكلام هنا و جيت
قلت له 101101 و جينا قلنا or بنفس ال pattern و عملنا
001100 إيش هيصير؟ طب عرفين ال or؟ أي طرف واحد بيطلع
جواب واحد صح؟ فهذا هيطلع واحد وهذا هطلع 01101
إيش علاقة ال output بال input؟ نفسه
يعني لو أتيت طلب مني أني أطلع الجواب مثل ما هو X
هروح أستعمل or
فيلحظوا هذه نفس علاقتها بال input نفسه و نفس إيش
الناتج ف ال mask اللي هستعمله أو ال logical mask
اللي هستخدمه عفوا ال logical operation اللي
هستخدمها إما and أو إما or xor إيش بتعمل؟ لو أنا
استعملت xor بس xor مش موجودة هنا معانا لو أنا
إيش هتعمل xor هتعكس ال output أو ال input هيطلع
إيش؟ معكس بس خلينا نحسب هذا الحكي هاي 1011010011000
تعال ال xor واحد منهم واحد و الثاني صفر بيطلع
جواب واحد و الباقي بيطلع صفر صح؟ هتعكس هيطلع 10000
واحد يبقى إيش صار علاقته بال input؟
كيف ما لوش علاقة؟ يا بيطلع X يا بيطلع X يعني بيطلع
إيش؟ X inverse صح؟ هاي X و
هاي ال output يا بتطلع نفسها يا إما بيطلع عكسها ال
X complement صح ولا لأ؟ طيب، يبقى أنا ال logical
operation بشكل أو بآخر مش زي ال arithmetic
operation مش عملية جمع حقيقي أو طرح حقيقي اللي
هيصير إنما أشتغل على ال logical operation هعمل
mask الناتج أو بناء على شكل ال logical operation
إما هيطلع معانا بعض المناطق مخفية بعض المناطق راح
تظهر أو إنه هتطبع مع مين؟ مع ال and أو إنه إيش راح
أعمل؟ هظهر كل النتائج اللي موجودة عندي الناتج اللي
أنا دخلته عن طريق استخدام مين؟ ال or ف أنا دي
هلاقي إحنا هنقش عمليتين إما هنعمل and أو إما
هنعمل or و ال and و ال or عبارة عن logical
operation إيش بيساوي؟ masking and compositing are
useful for the masking and compositing تمام؟ إيش
يعني masking and compositing؟ ليش ما قلتش بس mask؟
لإن إحنا شفنا ال mask إما هيكون عملية تجميل أو
عملية إخفاء تمام؟ يعني عملية إظهار للنتائج أو عملية
إخفاء للـ input اللي إحنا دخلناه فإما هيشتغل
masking اللي هي مع مين؟ مع ال and يعني هعمل إخفاء
أو إنه هعمل compositing مع مين؟ مع ال or هنعمل
تجميل، إيش يعني التجميل؟ اللي موجود في الصورة هذه
و اللي موجود في الصورة هذه سواء هنا أو هنا، بدنا
نظهره، صح؟ تمام فعلى سبيل المثال بيشرح ليه العملية
بيقول if we compute the and of a binary image طبعا
إحنا اتفقنا من البداية إنه العمليات اللي أنا
بسويهآ عملية حسابية أو عمليات منطقية هنشوفها كمان
شوية الأسهل إن إحنا نشتغلها إما اللي هي ال gray
scale image أو الأسهل والأسهل عادًا كلكم عارفين على ال
binary image يعني الصورة أبيض و أسود واضح؟ عشان
يصير عملية .. يعني ال logic .. بال logic يا صفر يا
واحد مظبوط؟ يبقى على ال gray scale مش هتشتغل صح
يبقى المفروض يكون الصورة عندك شمالها يا أبيض يا
أسود، binary واضح؟ فعشان كده بيقول لك compute the and
of the binary image with some other image بدنا
نجمع صورتين مع بعض عن طريق مين؟ عن طريق ال and
على سبيل المثال then pixels for which the
corresponding value in the binary image is one إذا
كان أحد الصور فيها واحد، إيش يعني واحد؟ أبيض، صح؟
و الصفر هيكون أسود فمعنى الكلام، هل قلتوا حواركم
صورة مثلًا، نفترض بهذا الشكل؟ زي هيك صورة عندنا
بهذا المنظر عندنا صورتين هذا ال output سيبقى منه عند
الصورتين نعملهم عملية and واحدة من هذه الصورة أبيض
وأسود وهذه الصورة أو بغض النظر ممكن تكون جاية بغض
النظر بس ال mask تبعنا يا أبيض يا أسود قصدنا إن أنا
بدي الجزء اللي يظهر هخليه واحد فهمتوا عليّ؟ يعني
اللي هعمله masking، اللي هعمل .. هعمل فيه ال mask
هذا، اللي هو واحد و صفر okay طيب لما نقول نعمل and
مع الواحد، إيش بيطلع؟ بيطلع واحد أو بيطلع الرقم
نفسه، صح؟ هي مع الواحد بيطلع نفس ال input يعني خمسة
و عشرين and واحد المفروض تطلع خمسة و عشرين وصلت
الصورة طيب فهلقيت إيش راح يصير ها بالصفر و لو ضعت
logic ب zero مع ال and إيش بيطلع جواب؟ zero هيضل
أسود فهمتوا كيف؟ فهيصير عندي أنا ال output بهذا
الطريقة لما أجي أخد الصورة يعني أنا هذه أنا بجهزها
و هذه الصورة أنا بجيبها تمام؟ ممكن تصممها square،
دائرة، مثلث، مربع، إن أنت عايزها يعني بتحدد
المنطقة البيضاء لو عملت logical and بينها و بين أي
صورة محل ما فيه اللون الأبيض راح يعمل إظهار
للجزء اللي مقابل له في الصورة والباقي هيبقى شماله
أسود فعشان كده فقط محل الدائرة يعني الدائرة لو
ربطناها طبعًا هذه مقاس هذه لو ربطتهم مع بعض هيروح
يصل بس محل الدائرة هنا فهتلاقي التركيز فقط عمل
إظهار لهذه السيارة وباقية الصورة أخفاها هذا مع
مين؟ مع ال and طبعًا هو هنا المثال اللي كتبناه يا
رجع تاني هذه بيقول ليه إن أنا بعمل composite the
and of a binary image اللي بنعمل compositing معاه
هو عبارة عن صورة binary 01 with some other images
أي صورة ثانية then pixels for which the
corresponding value in the binary image is one وين
ما فيه في الصورة ال binary واحد إيش بيطلع معانا will
be preserved راح يتم إظهاره هذا العنصر مقابل
الصورة الأخرى but pixels for which the
corresponding binary value is zero لكن pixels
اللي بتقابل صفر في ال binary image إيش راح يطلع
بحالها؟ they set to ash to zero themselves راح
يطلع بحالها zero thus the binary image acts as
a mask يبقى ال binary image اللي استخدمناها استخدمت
كأنها ash mask استخدمت كأنها mask that removes
information from certain parts of the image عشان
نمسح أو نخفي أجزاء من الصورة ونظهر إيش أجزاء معينة
من الصورة طيب ال or لو أنا عملت or إيش راح يطلع
نفترض
هاي الصورتين هدول نفس اللي هنا هو الألوان
لأ أنا مش عمللي mask يعني أنا هدوله صورتين التنتين
grey scale ما عملش فيهم بينهم هو ما حطليش مثال على
ال or حطلي مثال على ال and اللي شرحه طب لو أنا
جيبت صورتين و بدي أعمل بينهم or والتنتين هدول
grey هيجمعهم عرفتوا إيش يعني ال compositing؟ بيعمل
تجميع ليش؟ لإن هاي .. يعني أظهرلي هدا أو هدا فهيظهر
العنصر أو هيظهر العنصر، يبقى بالآخر هيطلع إلى
أرض أشماله، أجمع كل العناصر الموجودة في هذه
الصورة، وكمان بالإضافة للعناصر الموجودة في الصورة
هذه، طبعا هذه و هذه تقريبا نفس المكان هيظهر صح ولا
لأ؟ لكن اللي هان أنا ما عنديش إشي وأنا عندي عنصري،
فهيظهر هذا، طب في المكان اللي هان أنا عندي هذا
عنصري وأنا ما عنديش، فهيظهر هذا وهيظهر هذا، يعني
اللي موجود هان واللي موجود هان، بدي تم إظهاره في
الأرض، فعشان هي كالأخر لو أنا استخدمتها مع صورة
أخرى، هتعمل إشمال compositing، هتعمل إيه؟
compositing، ماشي؟ طيب
طيب لو أنا الصورة تبعت ال and عشان نرجع تاني لو
أنا استعملت binary image مش صورتين زي بعض وعملت or
هنا إيش راح يطلع؟ إيش
هيصير؟ يا هذا يا الأسود إيش بيطلع حد؟ صح؟ طيب يا
اللي هنا يا الأبيض إيش راح يطلع؟ مع الواحد، هيتلع
هو هو، يعني النادي شاشة هيطلع من غير mask، هتطلع
الصورة هايفهمتوا كيف؟ فعشان هيك لو استعملت أنا
صورة أبيض وأسود ونعملها مع الأخر مش هتفرق معانا
لأنه هيظهر الصورة الجزء اللي هام بالأغلب يعني
فعشان هيك مع الأند بنعمل صورة أبيض وأسود عشان
نخفي أزاق ونظهر أزاق لكن الأخر مش مشكلة يعني
عندها أعملها أبيض وأسود أو أجيب صورتين مختلفيتين
مع بعض في الآخر هيجمعلي المحتوى اللي موجود في
الصورة هذه مع المحتوى اللي موجود وين في الصورة
التانية واضح الفكرة؟ طيب هانا بوريني إيش الخورزمية
تبعت ال and بكل بساطة بروح بدخل two images يعني أنا
بجهز الصورة الأولى وبجهز مين الصورة التانية هانا
إيش بيسوي؟ تعمل and okay؟ معناه الحكي في ال and
أنا بدي أجهز صورة مقاسها بنفس مقاس الصورة الأولى
بالـ high والورد وانحدد وين فيه عندي أسود وين فيه
عندي أبيض اللي هي الصورة الـ image 2 ونحن ده
تشكلها وبعدها هنعمل create a new image لل and
image بحسب ال raw اللي موجودة في image 1 و image 2
طبعا هما يزاقد بعض ما بتفرقش التنتين غير مختلفة يعني
طولهم مختلفة عن التاني بحسب أطول طول و for each
column in image 1 and image 2 برضه نفس الفكرة
بالنسبة لل column هياخد في ال and image كونوا معاه
إيش بده تساوي؟ image one، كونوا معاه يعمل إيش؟ and
مع image two، يعمل and مع مين؟ مع image two،
فهتعطيكي اللي هي ال mask هان، هاد إيش بيسوي؟ تعمل
or، نفس الفكرة هدخل برضه image 1 و image 2 وهنعمل
بين ال image 1 و ال image 2 هنعمل or المفروض انه
ياخد نفس المحتوى اللي هت .. ياخد هذا المحتوى أو
هذا المحتوى ويظهر when في ال .. ال or image
output واضح؟ فالتنتين يبقى أنا إيش سويتها أنا في
الصورة .. بين الصورة .. إيش العملية أنا كان نوحها؟
logic واضح؟ طيب آخر موضوع معانا اللي هم الـ
Transformation إيش هال Transformation؟ أني أنقل
الصورة من مكان لمكان، من ضمنها اللي هي ال
shrinking و ال enlargement تعتبر Transformation،
عملية التصغير والتكبير أو عملية ال rotation،
النقل، اللي هو الاستدارة اه الاستدارة يُعتمد برضه
عملية الـ Transformation فهنا إيش فيه عندنا؟ عندنا
على سبيل المثال صورة هي X0 Y0 كم ها المكانها بعد
ما عملناها Transformation نقل السوق صار مكانها هنا
طبعا أنا ممكن أكون عملت استدارة ممكن عملت أي حركة
من الحركات هاي فتغير مكان ال position تبعت x
naught و y naught صارت من ال pixel نفترض اتنين و
واحد صارت أو افن أو أحد افن و تلاتة ماشي صارت وين
في العمود تلاتة وواحد مفترض ماشي صارت وين في
تلاتة وواحد طبعا مقابل هذه الحركة كل ال pixels أو
النقاط الأخرى راح يتم تغيير ال position تبعها يبقى
المفهوم بس تبع ال transformation انه أنا ال pixel
اتغير موقعها اتغير إيش موقعها طب إيش العمليات
الممكن نعملها؟ باختصار العمليات اللي ممكن تطلع
معانا إما إنه أنا بعمل translation نقل من مكان
لمكان تمام؟ يعني بدل مكانة في هذه النقطة ممكن تصير
ash في الصورة التانية طبعا هيطلع قمش شديدة تصير
مثلا مكانها هنا في النص أو في آخر الصورة ال pixel
تبعتنا أو إن أنا أعمل scaling by factor إيش ال
scaling؟ تحجيم هي تكبير وتصغير واضح؟ طيب ويا إما
ممكن إيش أعمل؟ clockwise rotation أعمل استدارة أو
دوران للصورة باتجاه قارب الساعة طب ممكن نعمل دوران
عكس قارب الساعة؟ اه ممكن نعمل بالعكس يبقى البيانات
اللي راح بس نتكلمها أو معاملات دوران باتجاه عقارب
الساعة أو ممكن نعمل حاجة اسمها horizontal shear by
factor S إيش ال horizontal shear؟ مرات بتيجي
تمسكين خصوصا موجودة في ال flash يعني بتروحيش
بتعملي الصورة مثلا عندنا واقفة زي هيك وبتروحي
لمنطقة في علاء الخط الأفق للصورة أو عرض الصورة
بيصير معاكي سهم هيك وسهم هيك طبعا لو إجيت حركتيها
طبعا transition صار حركتيها حد بيبقى ثابت فحيصير
عندك على نفس ال horizontal على نفس الخط بس إما
حيصير بهذا الحكي بهذا الاتجاه طبعا أو حيصير
في هذا الاتجاه طبعا طبعا ممكن كمان إيش نسوي؟ لها
vertical فبتصير هذه ثابتة وهذه المنطقة إما بتطلع
فوق وهو بتنزل تحت فهو برضه نوع من أنواع ال
transition نوع من أنواع ال transition كيف ممكن
ينعملوا؟ في عندنا زي ما بيقولوها مرخص أو جدول بلخص
إيش ال factors اللي ممكن نعرض فيهم عشان نعمل
المعادلة اللي بتعمل هذا ال transition طيب إيش
علاقة هذا الحكي أو كيف راح نعمله أول حاجة إنه احنا
فيه بيكون عندي زي ما شوفنا في عندنا نقطة X و Y بدها
تصير X bar و Y bar أو X شرطة و Y شرطة مع الحاجة إن
فيها موقع جديد كيف ممكن نحسب الموقع الجديد هذا؟
حسب العملية حسب إيه؟ العملية قالوا إن X شرطة طبعا
هي ال position الجديد يعني عبارة عن TX لقيمة XY هي
قيمة X بالنسبة لل pixel هذه والـ Y شرطة هي عبارة عن
قيمة Y بالنسبة لمية ل X و Y كيف بدنا نطلعهم؟ أنا
المعادلة طبعا إيش يعني TX و TY؟ في ال calculus أو
في ال math ما تيك يعني نكتب F of X صح؟ إيش يعني F
of X؟ يعني أنا بدي أعوض بدلالة مثلا X أو بدي أعوض
بدلالة ال variables اللي دخليني عنها هيطلع معانا
ناتج يبقى أنا في عندي equation هستعملها عشان أجيب
قيمة x شرطة وإن هيكون equation تانية تمام؟ هنعوض
فيه عشان نطلع mean y شرطة واضح؟ طيب، إيش هي Tx
وTy؟ Tx عبارة عن a نقطة x series تلاقي أشياء ال
series متتالية من الدرجة الأولى عارفينها؟ تمام؟
ليها عبارة عن a نقطة في x زائد a واحد في y زائد
mean a اتنين يعني عندي constant وعندي x من الدرجة
الأولى و y من الدرجة الأولى هي معادلة خطية صح؟ x
ممكن تكون مضروبة في factor و y ممكن تكون مضروبة في
factor آخر طيب y شرطة هي نفس المعادلة بس بدلالة
مين؟ معاملات ممكن نستخدمها عشان نجيب ال Y فمضروبة
في factor P0 X زي P1 Ay زي مين؟ P2 واضح؟ طيب هذه
المعادلة لو أنا جد كتبتهم في مصفوفة أما الأسهل
حاجة اللي هي الشغل على المصفوفة أنه أنا هيكون عندك
X شرطة و Y شرطة ك vector إيش بتسوي؟ A0 A1 A2 P0 P1
و P2
كيف بدي اشتغل عليهم؟ هذا ال juggle يعني مثلا اجيت
قولتلك اعمليلي shrinking
تصغير ايش اخدنا احنا مفهوم ال shrinking؟ بجيب حجم
أصغر بس عشان اجيب قيمة ال pixel بنضرب صح ولا لأ؟
يبقى أنا معادلة ال enlarge او ال scaling ان اضرب
في factor S طيب اضرب في S ايش بيحكيلي عشان بس
تفهموا كيف نستعمل هذا الجدول محل A Note بتبعوت
بالـ S تبعتيالي هي ال factor اتنين ولا نص فلو احنا
مثلا ضربنا في اتنين ضربت في اتنين okay الاتنين
هادول احطها محل ال a نقطة فهيصيح دي 2 X طبعا
X هي قيمة ال Pixel الأصلية واضحة قيمة ash ال pixel
الأصلية تمام عندنا a1 شمالها صفر عوض نحالها صفر
يبقى a1 في y هو y واحد مش هيطلع لي y طيب .. طيب
عندنا a2 كمان شمالها zero يبقاش ضلة عندي أن x شرطة
عبارة عن 2 في x لو افترض أن x أصلا دخلناها واحد و
اتنين المكان ال pixel واضح واحد و اتنين يبقى x شرطة
ايش رح تطلع 2 في 1 بدو يطلع قيمتها 2
قيمة x واضح طيب تعالى نكمل مكان ال B موجود عشان
نجيب Y احنا جيبنا x لغاية هلأ بدنا نجيب Y قدش ده
تطلع طيب B0 عوض عنها بصفة بيبقى لغاية X صح؟ طيب
بي واحد ايش قال ليه؟ حط فيها ال factor اللي بدك
ايش تستخدميه اللي هو 2 مش احنا ضربنا في 2
فهنحطها أنا 2 يبقى هيطلع عندك Y شرطة بدها
تساوي 2 في Y مظبوط؟ طيب زائد بي اتنين بي اتنين
أكم؟ ما بدي صفر يبقى هاي معادلة اللي احنا هنوجد منها
قيمة مين؟ Y شرطة ايش هيقولي؟ 2 في 2 بدأ
تطلع 4 يبقى H X شرطة Y شرطة الجديدة للموقع هذا
اللي هي 2 و 4 وصلت الفكرة؟ هي ال position H
2 و 4 طيب معنى الحكي أنا بدأت من 1 و 2
يبقى أنا هتصير الصورة هنا أصغر شوي يعني متخيلين
الصورة هيك؟ هاي صورة واقفة عند ال position 1
و 2 بالنسبة لمين؟ للصورة أو للشاشة حيصير وين
مكانها الات؟ 2 و 4 أوين يا بنات؟ هان هاي
2 او العمود التالي الصح؟ الصطر الرابع مظبوط؟
يبقى هتصير هاي هاي نفترض هاي 1 هاي 0 1
2 نفترض هيك هي هيك طيب كده؟ هيصير وين؟ عايز
1 1 2 3 هاي 4 ماشي وين سارت؟
2 و 4 العمود التاني السطر الرابع يعني هان
هتصير شايفين كيف انتقلت؟ واضح؟
ما هو Transition بس هي .. ايوة بالظبط .. هتصغر من
الشقة التانية .. بمعنى آخر ان بالنسبة للموقع هذا
المكان راح يروح .. هيصير حاجة فاضي أو لون أسود أو
أي لون تاني .. و هي راح تصير بدل ان هي بادية من
هنا .. هتبدأ من هنا .. واضحة الفكرة؟ طيب .. نفس
الشيء لو أنا بدي اعمل translation تغيير موقع
بالظبط نفس الفكرة بقول اي Note اشرحوا عوض عنها ايش
هتصير المعادلة؟ عوض عنها بواحد ايش هتطلع المعادلة؟
X واي واحد عوض عنها بصفر هتروح واي اتنين قيمة X
يبقى هيصير عندك X زائد X
طيب أنا قدش بيطلع الجواب؟ 2 X بناء على قيمة X
اللي أنت راح تدخليها خلاص؟ طيب و P0 طب هدول
معاملات ال Y عشان نجيب محل ال Y P0 هتكون Zero
هيروح X و B1 هتصير عندك 1 فهيعطيك Y زائد ال B2
هتكون Y فهيعطيك أش Y زائد Y هتطلع 2 Y حسب قيمة Y
بيصير عندك عسابين المثال لو X 1 بيطلع عندك ال
position جديد 2 و 4 و أضرب بهدف 2 بيطلع عندنا 2 و 4
فانتقلت من الموقع 1 و 4 ل .. أو عفوا من 1
و 2 ل 2 و 4 و هكذا طبعا إنما ال
clock wise هذه لو جربتوا تعملوها نص تصيب تعمل
أشملها مش 2 يعني اضرب في نصف بتصير تعمل enlarge
مش shrink بتصير تعمل ash enlarge جربوها أنا
clockwise rotation محل ال a نوت بنكتب cosine theta
ومحل ال A1 بنحط سالب ساين ثيتا ومحل ال A2 بنحط صفر
B0 بنحطها ساين و B1 بنحطها أش كزاين ماشي؟ وها دي
بحل اللي هي ال horizontal لو أنا حابة أحرك
horizontal بتكون محل قيمة A0 1 و A1 ال factor اللي
أنت بدك تتحرك فيه اللي هو S و A2 0 B0 0 B1 1 و B2
هتكون شمالها صفر طبعا تاخد هذه القيم يعني زي
standard هذه قيم متعارف عليها بس بتاخديها
وبتعوضيها في ال equation بيصير بتجيبي معادلة ال
transformation اللي أنت بدكيها واضح؟ طب تعالى نشوف
مثال
عليها هذه
ايش بتعمل الخورزمية؟
Image Transformation تعمل Transformation ايش سوّت؟
هدخل ال image و هدخل TX و هدخل من TY بدي ارشق
Image Transformation for each row in image لكل
column في ال image هذه a new column بدي هتساوي
يعني بدي أجيب ال column لجديد من وين بده اجيبه؟
column زائد من TX TX من وين بده اجيبها؟ يعني أنا
هنخلها مجهولة عارفين ايش بيصار؟ بمعنى حسب كيف
بتجيب ال TX يا هتعوضي انك بهذا الشكل او بهذا الشكل
او بهذا الشكل هتجيب ال TX اللي أنت بدك ايها صح؟ و
هتجيب ال TY بحسب برضه الفكرة اللي هتعوض فيها A0 او
B0 او A1 و B1 ماشي حسب ايش رح يطلع قيمة ال TX من
ال transformation اللي أنت اختارتيه هتجمعيه على ال
column الأصلي و هتجمعيه على ال row الأصلي هيطلع
لنا position جديدة هتقوليله والله a transformation
image ال new column و ال new row اللي طلعت نتيجة
إضافة الـ Tx و الـ Ty على الـ row و الـ column
هيطلع H هتاخد قيمتها من مين؟ هذا الـ monde ياخد
قيمته من الـ image الأصلية من ال column الـ row
تبعت مين؟ ال image الأصلية زي ما احنا اتفقنا في ال
shrinking و في ال enlargement و في ال
transformation كمان قلنا بناخد الصورة الجديدة أو
الناتج بياخد قيمته من مين؟ من الصورة الأصلية نفس
الفكرة، واضح؟ بس هنا حسب ايش الطريقة اللي هتحصل
فيها Tx أو Ty هتعمل transformation أو هتعمل
translation أو هتعمل rotation أو هتعمل shrinking،
خلاص؟ طيب، هنا مثلا مثال، شايفين هذه الصورة؟ نفترض
إنه استخدم عملية مين؟ طبعا هذه مقاس الصورة مش زي
هذه هذه أكبر فهو ايش سوى عمل shrinking عمل scaling
فهو مسك القيمة هذه شايفين ال pixel هاي مسكها من
هذا المكان وين صارت عند هذه ال pixel عند هذه مين
القيمة فواخدوا ايش صار هيلتقل الصف العمود فال
shrinking .. عفوا التصغير اللي صار انه كأنه بمسك
من زاوية من زاوية واحدة مش من أكثر من مكان واضحة
الفكرة؟ طيب عيني آخر شيء ال rotation طبعا؟ عشان
نعمل notation، ايش المعادلة تبعت ال rotation؟ أنا
عوضة عن إيه نقطة ب cosine و عن إيه واحد بسالب
sign؟ صح ولا لأ؟ فأنا روحت، هاي المعادلة تبعتها،
هنقول x cos θ، طب عن θ أزارة اللي أنت بتكتمل عليها
ال rotation؟ إما موجبة أو سالبة يعني، okay؟
ناقص y sin θ، طب من أين أتت الناقص؟ لأن المعامل
الذي راح نضربه في ال Y هو سالب ساين ليش سالب ساين
نرجع لها نشوف من وين تشكلت هيها cosine عوضي عن a
بـ cosine وعن a1 بسالب ساين فماذا سيطلع
عندك؟ cosine θ x ناقص sin θ y طيب هنا ال a2 راحت 0
طيب عندنا y شرطة هذه كيف جبناها؟ نعوض عن ال b نقطة
بـ sin واضح؟ عوضي عنها بإيش؟ بـ sin فيصبح عندك sin ال
x زائد b1 ماذا نعوض عنها؟ كوساين تمام ثيتا مضروبة
في y و b2 صارت صفر فعشان هيك طلع عندي
المعادلتين هدول x شرطة و y شرطة لل rotation يعني
تبقى لل rotation يبقى كده جيب x و y لجديد هي
المعادلة بتاعة ال x شرطة و ال y شرطة بس هذه إيش راح
تعمل Rotation باتجاه عقارب الساعة يعني من اليسار
لليمين احنا ماشيين خلاص أو من هيك يعني من اليمين
لليسار هيك ماشيين من اليمين لليسار واضح؟ طيب نشوف
إيش فينا بالنسبة لل rotation لما نقول إن ال
rotation باتجاه عقارب الساعة فيه مشكلتين ظهروا إيش
هما المشكلتين؟ بقول لي لما أفترض أنه أنا ال pixel
اللي بتعملها rotation بتبدأ من صفر و 100 و الزاوية
أو مقدار اللي هو الدوران اللي بدنا إياه كان 90 درجة
يعني قائمة ماشي؟ طيب هذه مشكلة المشكلة الثانية، لو
أنا فرضا ال pixel تبعتي كانت أصلا في الموقع 50 و 0
ماشي؟ و روحنا عملناها rotation بـ 35 درجة okay؟
عوض لبس عشان نشوف إيش سبب المشكلة و من وين طلعت هو
افترض فرد و افترض لنا إيش نوع من ال problem اللي
ممكن اللي بدهم يحلوه و يحلوها شرح سوا أخذ الحل
الذي هي ال problem الثاني عوض عمل rotation جاب كمّة
x لجديدة و y لجديدة عوض عن θ يعني بـ 35 معي عوض
عنها بـ 35 طبعا كوساين الخمسة و الثلاثين هيصير عندك إيش؟ x أصلا
قد ايش قيمتها؟ خمسين 50 في كوساين الخمسة و الثلاثين
ناقص ال y إن كان صفر فكذا في ال sign تبعت اللي هي
خمسة و ثلاثين فطبعا راحت هذه إيش ظل عند القيمة؟ خمسين
كوساين خمسة و ثلاثين قد ايش طول الجواب؟ بس أربعين
أربعين point صح؟ يبقى إيش صار عندي مشكلة؟ العشر،
أنه أنا .. أيوة زي ما كنا قبل كده نتكلم أنا ما عندي
عشر، واضح؟ يبقى الحل يعني اترك ياراوند إن أجيب
بقراء قيمة أنا بفترض أنها تكون محل ال rotation هذه
واضح؟ يبقى هذه المشكلة و نشوف نعيش الحل لأن حكينا
نعيش الحل الممكن يطلع منها طيب المشكلة الثانية أو
اللي هي إيه الواحدة إنه إن لو أنا أجيت جبت ال
cosine الـ cosine للـ 90 قد ايش بيطلع؟ واحد طيب طب
و الساين للـ 90 ساين التسعين نصف ساين التسعين واحد هي
كوسا .. اه عفوا الكوساين التسعين zero كوساين التسعين
zero و ساين التسعين واحد طب لو أجيت عوضت عن
المعادلة هنا مثلا كوساين التسعين اه هيطلع واحد اه
عفوا صفر و هذا ساين التسعين واحد و ال Y قد ايش قيمتها؟
فإيش هيطلع الجواب؟ سالب 100 طب في عندنا بيكسل
بالسالب؟ ما عندناش؟ لا بينفعش أيوة فاحنا برضه ما عندناش
إيش بالسالب فبنحاول برضه نجيب أمس بمكان بالنسبة
للسالب يعني ما يقابلها بالموجب و بروحاش نعمل عليها
rotation طيب يبقى نشوفنا إيش المشكلتين اللي ظهروا
و فيها شغلتان هلأ هتبقى نوريكوا إياها يبقى this is
clearly a problem since pixel cannot have a
negative coordinate ما عندي أنا coordinate بالثالث
فهناخد مين ال absolute على سبيل المثال case 2 بتوضح
مشكلة أخرى الحل الأول للمشكلة الأولى أي مشكلة يا
بنات لا اللي هي case 1 بتاعت اللي هي sign من ال
zero بالسالب sign اللي بيطلع لنا أول قيمة تطلع
السالبة ماشي بقول لي the first problem can be solved
by testing coordinates to check that they lie
within the main bounds of the output image before
attempting to copy pixel value يعني قبل ما اروح
آخذ ال pixel و أنقلها بدي أصحح القيمة فكده لما عملنا
check قبل هيك إذا أكبر من 255 أو أصغر من 0 إيش
نعمل على 700؟ تمام، إنه أنا أخليها في ال boundary
اللي أنا بديها، في الحدود اللي أنا إيه بديها،
فيبقى قبل ما نعمل عملية النقل نفحص ال boundary
لجديد أو القيمة لجديد اللي راح تطلع معنا، إذا كانت
والله مش داخل ال range بحاول أنا أخليها داخل ال
range المطلوبة يبقى هذا حل زي ما حكينا ال absolute
على سبيل المثال هذا عبارة عن ال check خلاص؟ طيب
الحالة الثانية A simple solution to the second
problem is إيش؟ اللي هي مشكلة مين يا بنات؟ الأعشار
بيطلع إنه أعشار Find the nearest integer إن أحاول
أوجد أقرب عدد صحيح لل x prime و y prime طبعا and
use this as the coordinate of the transformed
pixel طبعا أقرب pixel يا بتعمل scale يا بتعمل
round اللي هي أصلا يا بتعمل تنكت يا بنعمل round
طيب هذه الخوارزمية بتعمل rotation شوفوا كيف أعملها
طبعا فعلا هذه بتعمل rotation هذه كانت الخوارزمية
اللي شوفناها قبل هان هذه بشكل عام أي نوع من أنواع
ال transformation الأربعة اللي احنا تكلمنا فيهم
هان واحد اثنين ثلاثة أربعة هدول حسب TX بتعوضي
okay بس هناك هلاقيه اتصارات مخصصة يعني هذه زي ها
بس هذه مخصصة لمن؟ لل rotation فشوفوا عشان أعمل ليه
هندخل image و ندخل theta اللي احنا على أساسه
هبنعمل عملية ال rotation تمام؟ create new image
هجيب
قيمة a note التي هي cos θ وقيمة P نقطة وقيمة a1
وقيمة P نقطة وقيمة P نقطة وقيمة P نقطة وقيمة P
نقطة وقيمة P نقطة وقيمة P نقطة وقيمة
P نقطة وقيمة P نقطة وقيمة P نقطة وقيمة P نقطة
وقيمة P نقطة وقيمة P نقطة وقيمة P نقطة وقيمة P
نقطة وقيمة P نقطة وقيمة P نقطة وقيمة P نقطة وقيمة
P نقطة وقيمة P نقطة وقيمة P نقطة وقيمة P نقطة
وقيمة P نقطة وقيمة P نقطة وقيمة
P نقطة وقيمة P نقطة وقيمة P تمام ال T X هضرب A نوت
في قيمة ال column و A واحد في قيمة ال row ال row
جديد
هي B نوت مضروبة في ال column plus B واحد مضروبة في
ال row هي هذه من بتعطيني؟ T X و هذه بتجيب T Y ده
لا قيمة x من ال equation ال rotation وهذا قيمة y
من مين؟ من معادلة ال rotation واضح؟ طبعا A نوت
هيها و A واحد هيها و B نوت هيها جاهزة و B واحد
هيها بس بضرب فيهم و بروح يعطيني القيمة الجديدة
طبعا F شوفوا إيش ثواني if new column and new row
inside rotation image
هذا ال check على قيمة الناتج x1 و y1 عشان إيش
عاملنا ال check؟ عشان لو طلع سالب تمام؟ نخليه داخل
ال range ما ناخذ السالب واضح؟ فإيش بده يعمل؟ set
rotation image new column and new row equal image
column and row إذا كانت القيمة ضمن ال range خد
قيمتها من الصورة الأصلية تمام؟ ما كانت ممكن أنا أعمل
أي حل إما بأخذ ال absolute أو ما بقللها أصلا زي ما
أنتِ عايزة ماشي؟ طيب ما له؟
هي هي دي عوض عنها رجعي ثاني احنا كتبناهم اللي هي
هي
مهي مهم كوساين ثيتا هنا هيها
a نوت هي كوساين ثيتا حطهم هنا يعني فهو راح جاب a
نوت محلها كوساين ثيتا اه بدنا ما تكتبيها كلها يعني
فراح حطهم جهزهم عشان ما يكونش عندك التعديل أكثر من
مرة بس بتعدل في القيمة و خلاص يعني يعني حتى هدول
ليش بقول لك هدول ممكن تستعمليها يعني أنا قلت لك هدم
خوارزمي يا حولي لي إياهانسمع هوليها transformation
هو horizontal ايش رح أعمل؟ رح أشيل كل هذول صح؟ و ايش رح أحط
محل الـ a نوت رح أحط واحد، و محل الـ a واحد رح أحط s اللي
رح ندخلها محل الـ b نوت رح نحط مثلًا صفر، محل الـ b
واحد رح نحط الـ S على سبيل المثال اللي احنا بدنا ياها
أو 1، احسب ايش الـ variables اللي رح نعوض فيها
واضح؟ طيب آخر حاجة نحكي فيها هون رح ألاقيها على سبيل
المثال، هاي الصورة، طيب هذه الصورة هي الصورة الأصلية
بدنا نعمل لها rotation، خليكم معي شوية، بدنا
نعمل لها rotation باتجاه عقارب الساعة، خلاص؟ شوفوا
عشان بيطلع ايش ممكن نلاحظ من هذه؟ اه ليش؟ لإن
الزوايا لما بتيجي تلف على أي عرض الصورة، نفس
العرض، لإن معي نفس الصورة أنا، على نفس المكان
عمال، كأني بأخذ، واضح؟ طيب، هل ايه لما تيجي تلف
بصورة الزوايا، هل ... لما تيجي فوق؟ برا، برا الـ
canvas، صح؟ فايش رح يصير فيها؟ رح تنقص، فمش حقًا كل
الصورة تبعت هذه، أحد برضه المشاكل تبعت ايه الـ
rotation، طب ايش الحل؟ نكبر الـ canvas تبعنا، واضح؟
فبعد ما أنا أبقى على نفس المقاس ايش أروح؟ نكبر الـ
canvas شوية، بيصير أنا لما نيجي من الـ rotation
الزوايا بتبين معنا واضحة الفكرة؟ يعني مش بس على قد
السالب والموجب، يعني ما تفكروش الشغل بالبساطة إجت
لأ، كانوا يعملوا شغلة كان يطلع لهم problem
يحاولوا يحلوها بطريقة معينة واضحة هاه؟ هيك احنا
بنكون خلصنا أي شيء يعني يتعلق بالـ image، المحاضرة
الجاي إن شاء الله راح نبدأ بالـ sound بإذن الله
تعالوا، في حد عنده أي سؤال؟ يعطيكم العافية