![]() |
|
تعديل الصور : التحديد Sharpening - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : تعديل الصور : التحديد Sharpening (/showthread.php?tid=4908) |
تعديل الصور : التحديد Sharpening - المبرمج الطموح vb6 - 02-10-12 << بسم الله الرحمن الرحيم >>
السلام عليكم إخواني القرآء , كما هو حال الدرس السابق في إضافة الضبابية بما يعرف فلتر ال Blur اليوم تعالوا لنتعلم ما هو عكس ال Blur و هو ما يعرف بال Sharpening أو التحديد و كل هذه الكلمات معروفة بالنسبة لمصمم ال Photoshop فهذه الفلاتر هي فلاتر محورية في التصميم . تعريف بفلتر ال Sharpening : زيادة نسبة التباين ( الفرق في اللون ) بين كل Pixel و مجاوراتها و يجب الانتباه جدا بأن المقصود ليس التباين الكلي للصورة Contrast و إنما تباين Pixel عن أخرى . قبل البدء : فقط لتكون أخي القارئ جاهزا لهذا الدرس عليك بالإطلاع على فكرة تنفيذ فلتر Blur ليسهل الأمر عليك هنا . ((الموضوع موجود في المنتدى بشكل مستقل)) فكرة الفلتر : بما أننا نريد أن نجعل كل Pixel متباينة عن الأخرى فنحن بحاجة لجعلها تبرز أكثر عن مجاوراتها لكن كيف العمل هنا ؟؟ , بمعنى آخر ما هي العملية المعاكسة للمتوسط الحسابي ( العملية التي تعتمد عليها فلترة Blur ) ؟!؟! فكرة تنفيذ : إننا إذا بحاجة لزيادة نسبة الألوان في كل Pixel لكن بنسبة معقولة لا تجعلها غامقة جدا . - الحل يتم بالشكل التالي لنأخذ اللون الأحمر في بكسل معينة و نأخذ قيمة اللون الأحمر في مجاورتها و من ثم نعدل نسبة الأحمر في النقطة الأولى النقطة فنقوم بإضافة ( فرق الأحمرين - إن جاز التعبير - )و بذلك نكون قد زدنا فرق الأحمرين بين هاتين ال Pixels و إذا كررنا العملية على اللون الأخضر و الأزرق حصلنا على فرق نسب لونية أكبر بين ال Pixel المدروسة و مجاورتها و بالتالي أصبحت أكثر تباينا و هو المطلوب . إن فكرة الحل هذه هي و يكون الكود هو الباقي علينا لنثبت الفكرة أكثر و أكثر : إنشاء المشروع : - نبدأ مشروع Windows Forms Application و نضع على الفورم الأداوت التالية باسمائها الافتراضية : 1 - ProgressBar للإستدلال على تقدم عملية الفلترة . 2 - Button للبدء بالفلترة . 3 - PictureBox تحوي على الصورة المراد تنفيذ الفلتر عليها . و هذا الكود مشروح سطرا بسطر : كود : [SIZE=4][b][FONT=courier new]ملاحظة مهمة : للتحكم بشدة الفلتر يمكننا تغيير 0.5 الموجودة في الكود بشكل طردي ( زيادة زيادة أو نقصان نقصان ) مع الانتباه لجعلها متساوية في كل الألوان لكي لا تتغير ألوان الصورة و أحب أن أنوه مرة أخرى بأن الدرس و الشرح و المثال من تأليفي الشخصي . تحياتي للجميع أخوكم المبرمج الطموح vb6 |