الحافظة 03:0:ا010.
كيف تقوم بنسخ و لصق الصور ؛ الامر بسيط جدا
اليك كود نسخ الصور
استخدمنا الدالة 50880566 التبعة للكائن 01000830 ووظيفتها هي نسخ البيانات الى الحافظة
كود لصق الصور
71120 1108 - (م|2 اق كاف امطفا 0 عو اممافطاء 6 :66رط0ها 66108 0 قدتام ا 17
في البداية يجب التاكد فيما اذا كانت قناك صورة في الحافظة و ذلك باستخدام الدالة
الكلاس 060860101171315 لنعرف النوع 8101780
و اذا كان الناتج ©1111 فننا نقوم بلصق الصورة في مربع الصورة و ذلك باستخدام الدالة 660088 و
مقدمة في معالجة الصور
الصورة عبارة عن مصفوفة مكفة من قيم الوانها (احمر, ازرق, اخضر) ؛ و كل قيمة من هذه القيم ترسم
في نقطة تسمى بكسل ا0::ا5 في اداة 51601880
القيم
5 . فمثلا اذا كانت هناك صورة زرقاء بالكامل (0, 255 , 0 ) فان المعكوس سيضبح (255 ,0 , 255 )
و اذا اردت تمليس الصورة |8 فان العملية اصعب قليلا و لكنها فكرة ذكية جدا
الفكرة هي ان تجعل الوان الصورة قريبة من بعضها . ولكي تقوم بذلك فعليك باخذ المتوسط من كل 9
نقاط 5ا878 في الصورة . فاذا كانت هناك نقطة ذات فرق كبير في درجة لونها عن الثمانية النقاط الاخر
فان المتوسط سوف يقرب لون هذة النقطة من الوان اخواتها الثمانية.
و كذلك شحذ او تحديد الصور 5180021 فما عليك الا القيام بعكس عملية التمليس
وبطبيعة الحال فان فجوال بيسك .نت يدعم هذا النوع من العمليات بدالتين هما ا8::ا6610 و 56101766
يبقى علينا التطبيق برمجيا بعد النتهاء من فهم الفكرة نظا
عكس الوان الصور
اتبع الخطوات الاثية
بدا مشروع مندوز , ثم اضف زر امر و مريع صورة , ثم اضف صورة من عندك الى مربع الصورة
(2و12 11لامقة ست 21 |8:071712 بنعلا فم م5012 5100
50186 - 0596 111رمقة 616
و1016 كم غناط ,91220 ر160 5100
(زغناط - 255 رمغت - 255 را6١ - 255 )6010:5019 ٠, رز 5018056112
علا
ساقوم بشرح النقاط الاساسية في هذا الكود
في بداية الامر قمنا بنشاء متغير و خرنًا فيه الصورة الموجودة في مريع الصورة
بعد ذلك انشلًا حلقتي تكرار . الاول يقوم بفحص عدد صفوف البكسل الموجودة في الصورة . و الثاني
يقوم بفحص كل بنقطة او بكسل موجودة في الصورة
ثم قمنا بتجميع النقاط ذات اللون الازرق و تخزينها في المتغير , 8ننا و كذلك اللون الاحمر و الازرق
ثم استخدمنا الدالة 581011 للقيام بعكس الوان الصورة , و التي لها 3 توابع
الثالث : اللون الذي تريدة للنقطة , و كما تلاحظ فاننا طرحنا كل لون من 255 لنقوم بعكس الوان الصورة
و اذا اردت تسيع العملية فقم بحذف
و انشاء الله سوف نتعلم فكرة تمليس الصورة في الدرس القادم و هي فكرة رائعة جدا جدا
تمليس الصور
الفكرة كما ذكرت سابقا عبارة عن تقريب درجة الوان النقاط من بعضها . فاذا كلت هناك نقطتين وحدة
زرقاء والاخرى خضراء فسوف يتم تقيب لون الزرق الى التركوازي. ويتم ذلك بحساب المتوسط لكل 9
نقاط في الصورة
موده 1اامقه سا 81072()01 نسقلا 85 م5008 5110
2 1ن 170 جح انوع
- + لعزا - ايل - 0 1:6ئ1011)601).661 2 160
- + نعلا - 1ر0 1:6ظ01.661©
- + لقلا - أي + 1:610ظ01.661©
- + لقاب + 1:210ظ01.661©
(9 / (نعلا + ارا + 1760ئ01.61©
- + قلا 1ر1 - 6 1:61ظ1011601).661 < غنات
- + (قلد + 1ر1 - 6 1:6ظ01.661©
- + (قلا - 1ر0 1:6ظ661. 601
- + (قلا - ار + 1:610ظ01.661©
لدعلا
علا
(اتبع نفس الخطوات السابقة في عكس الوان الصورة )
كما تلاحظ فان الكود متطابق في بدايته مع كود عكس الوان الصورة
واحب ان اوضح نقطة وقي 2 الموجودة في التكرار وفائنتها هي استبعاد اطراف الصورة من العملية
المتغير 80 : قمنا بجمع قيم الالوان لكل 9 نقاط متجاورة ذات اللون الاحمر ومن ثم قسمتها على 9
لحساب المتوسط
و كذلك المتغير غنات و المتغير 90880
ولو جربت ان تحذف عملية المتغير 9887 و المتغير 60) فان الصورة ستصبح زرقاء تماما
تحديد الصور 5112:72111109
من المعروف ان تحديد الصورة هو عكس تمليسها . و لتحديد صورة يجب ان نجد خزارزمية معينة تبين او
تزيد الفرق بين النقاط المختلفة اصلا
لاه من غير الممكن ان نحدد صورة زرقاء تماما و ليس بها نقاط مختلفة
الجواب هو ان تضيف الفرق بين النقطة الاصلية و النقطة المجاورة الى النقطة الاصلية , وبالتالي اذا
سيحدث على النقاط التي سيكون بين قيمها فرق . و اليك الكوذ الذي سيوضح العملية
(11117392)لمقة ست 81072001 بلاغلا - 50180 5100
وعا10 فم غناط ,91220 ,160 5110
1- * صفع 9620 07080 > 129680
زقلا - ابا - 0 1:2ئ201)661 - 10.8 رق 1:2ظ010)).621 *0.5
غعلا
0ح رمق ءا
دعنا ناخذ المتغير 160 مثلا أ, [: هي النقطة الاصلية , اضفنا اليها الفرق بينها وبين النقطة المجاورة
أما عن الضرب في 0.5 فهو لتقليل حجم التفصيل او الفرق الحاصل . يمكنك القسمة على 2 بدلا من
الدالة 1010 تعيد القيمة الاصغر بين قيعتين محددتين , فاذا كانت 60) اكبر من 255 فان 60] ستصبح 255
حسب الدالة .0400
و لكن لو جربت العملية فستلاحظ ان التنفيذ بطيء للغاية . و لستيعه قليلا فاننا نستخدم صورة مؤقتة
في الذاكرة
(2و80:1103 عبت 5) 8107130 لاعلا - 51120 51100
وعا10 فم غناط ,9220 ,160 5110
(2و3 80111171 سنا 5)م 800712 نااعلا! كم [1 طم 0ع و11
منطمعا طائقا
غلا
غفلا
و1113 ومادعمقاء 002" تدتعا
ومع ذلك فان الاداء غير مرضي لان العملية بطيعة جدا مقارنة مع برامج الرسم زي الفوتو شوب . و هذا
يدل على ان هناك خوارزميات اخرى للتعامل مع مثل هذا النوع من معالجة الصور
ارجو ان تكون قد استمتعت مع الدرس . و بصراحة هذي افكار تطور قدراتك البرمجية لذلك ارى انه يجب
ان نخوض اكثر في الخوارزميات و الافكار و الحيل البرهجية
لتسريع عمليات معالجة الصور السابقة قم بتغير الكود من
(عوفه 11)رم8ة 1ط 810020 بلعلا - م5018 5100
(92و6 1101ب 2ه سنا 5) 5110720 علا 5 50180 5100
زخرفة الصور 5110059109
اعتقد ان الجميع يعرف الفلتر المسمى 2015055 و الموجود في برامج تحير الصور المشهورة مثل
الفجوشوب . يقوم هذا الفلتر بابراز براويز او حواف الكائنات الموجودة في الصورة
يمكثنا عمل ذلك بالقيام باخذ الفارق بين كل نقطتين متجاورتين . ولكن غالبا يكون هذا الفارق ضئيل و
لزيادة اضاءة الصورة
(2و6 101 1ه قة سنا 5) 810720 بعلا 5 م008ط و10
0ا60 .0120109 االعاكر5 فم 2 العام ,1 اغنام 00
(.اعاظ1ع6. - 1 ادام
(255 ,128 + ((2.6 :م0 - (1.8 :ام 201) محلم طاقااه نط2 - ١60
259 ,128 + ((6 2 اعدا0ت - (1.6 دام 60) محلم فاه الاطانا - معتعو
259 ,128 + ((28 عمط - (1.8 اعدام 20 ) .)2711|
علاط
علا
علا
كما تلاحظ فان المتغيرين 51:22 , 611881 هما عبارة عن نقطتين متجاورتين في الصورة
* الدالة 1010 تعيد القيقة الاصغر بين قيمتين . وهي بالتالي تضمن بان القيمة لن تتجاوز ال 255
وقي بالتالي تضمن بان القيمة لن تكون سالبة
تغبيش الصور 015109
بصراحة لم اجد معنى مناسب لكلمة . 016158 و لكن ستعرف معناها جيدا اذا طبقت الكود . كود تغبيش
الصورة يعتمد على جعل الصورة نقاط عشوائية . هذه النقاط العشوائية نقوم بانشائها باستخدام الدالة