Header Ads

نظام تحسين الصور الرقمية باستخدام لغة البرمجة سي شارب C SHARP #

مقدمة 
تم في ھذا البحث كتابة برنامج جدید لمعالجة الصور الرقمیة (تحسین الصور enhancement image ) باستخدام السي شارب   والشيء المختلف في ھذا البرنامج عن باقي البرامج الجاھزة المتوفرة مثل filter photo او ACDSee ھو ان البرنامج یقوم باجراء عملیة تحسین للصور دفعة واحدة وبدون تدخل المستخدم user وذلك بمجرد الضغط على المفتاح المناسب . وھذه الامور غیر متوفرة في البرامج انفة الذكر حیث تتطلب وجود خبیر او محترف في استعمال الفرش والالوان والقص ... الخ ، وبالتالي فانھا تستغرق وقت اطول.
ولما كان ھناك عدة برامج متوفرة لتحسین الصور ، فقد ركز البحث الحالي على مشكلة موجودة فعلیا وجدیرة بالاھتمام وغالبا ما تصادفنا وھي مشكلة الكتب الرسمیة والوثائق المشوھة وھي موضوع اھتمام ھذا البحث . كثیرا ما نلاحظ تشوه بعض الكتب الرسمیة او الوثائق بسبب سقوط شيء من الشاي او البیبسي كولا وغیرھا من المشروبات او حتى بقع الزیت او اي تشوه من جراء الاطعمة . وقد یاتي التشوه من جراء عبث الاطفال . وھذه الاخطاء تحدث بسبب الاھمال . الا انھ قد یحدث تشوه بسبب خلل میكانیكي او فني في اجھزة الطباعة فنحن كثیرا ما نلاحظ عدم وضوح الوثائق المطبوعة في اجھزة الطباعة printer laser لنقص الحبر او قد نحصل على طباعة فاتحة في مناطق وغامقة في اخرى . البحث الحالي یاخذ على عاتقھ معالجة مثل تلك التشوھات باستخدام طریقة العتبة threshold ،ایضا تم استعمال طریقة العتبة لاجراء عملیات اخرى مثل تبدیل خلفیة الصور او ازالة بعض الالوان غیر المرغوبة او تبدیلھا.

مخطط الجزء العملي

ان موضوع معالجة الصور الرقمیة من المواضیع التي لاقت اھتماما واسعا وتقدما كبیرا حیث تنوعت وتوسعت تطبیقاتھا فھو الان یعنبر من أكثر وأھم تطبیقات الحاسب انتشاراً وذلك لاستخدامھا في مجالات مختلفة فلم تقتصر على معالجة الصور الاعتیادیة (الفوتوغرافیة الشخصیة او غیرھا ) بل تعدى ذلك الى معالجة الصور في مجالات العلوم المختلفة ، مثل: معالجة الصور الطبیة، إنتاج الأفلام والصور، الاستشعار عن بعد بالإضافة لتطبیقات المراقبة. ولعل اھمھا في المجال الطبي ، الكشف او التنبؤ بالامراض الصرطانیة في الخلایا حیث اصبح بالامكان تشخیص الخلایا المصابة عن طریق الكومبیوتر او الكشف عن نوع مرض ما من صورة شعاعیة . من ھذا كله جاء الاھتمام بمعالجة الصور الرقمیة . 

ورغم اھمیة تلك المجالات وحداثتھا الا انني اخترت مجالا اخر قد یبدو تقلیدیا في موضوعه لكنة ذو اھمیة في تطبیقھ كونھ یھتم بمشكلة موجودة في حیاتنا الیومیة ومھمة وھي مشكلة الوثائق او الكتب الرسمیة المشوھھ نتیجة الاھمال مثل سقوط شيء من شراب او طعام او بسبب خلل فني متعلق باجھزة الطباعة او التصویر اذ یتطلب معالجتھا بالبرامج الجاھزة جھدا كبیرا من قبل اشخاص متمرسین في ھذا المجال.

المعالجة الرقمیة للصور processing image digital

تكمن اھمیة المعالجة الرقمیة للصور عدة مجالات : (٣،٢(

١ -تحسین المعلومات المصورة لتسھیل تفسیرھا وفھمھا للبشر.

٢ -معالجة بیانات الصورة لأغراض التخزین على أوساط مختلفة بسرعة واقل حجم

ممكن.

٣ -إرسال الصورة من مكان لآخر بأقل عرض نطاق ممكن bandwidth

٤ -الإدراك الآلى للصورة ومحتویاتھا بدون مساعدة بشریة.

٥ -معالجة الصور لجعلھا ملائمة لبعض التطبیقات.

الصورة الرقمیة Image Digital : تتكون من عدد محدود من العناصر لكل منھا موقع وقیمة محددین . تسمي ھذه العناصر elements picture أو elements image أو . pixels من المعروف أن الصورة تلعب دورا ھاما في اكتساب البشر للمعلومات . إلا أن الإدراك البشري للصورة ینحصر في تلك الصور التي تقع في النطاق المرئي من الطیف الكھرومغناطیسي . خلافا لذلك نجد أن آلات التصویر تستطیع تغطیة الطیف الكھرومغناطیسي كلھ بدایة من أشعة جاما وحتى أمواج الرادیو . من أمثلة ذلك الصور المولدة بالموجات فوق الصوتیة والصور المولدة بالحاسب والتصویر بالمجھر الإلكتروني و....إلخ (١٠ (

ریاضیا ، ویمكن تعریف أي صورة علي أنھا دالة ذات بعدین dimensional function  two   د(س ، ص) حیث س ، ص ھما إحداثیات النقطة و( د ) ھي " المستوي  الرمادي level gray " أو الشدة intensity عند تلك النقطة . ویتم الحصول على الصور الرقمیة من اجھزة التصویر الرقمي او عن طریق الماسح الضوئي scanner حیث تكون قیم س ، ص ، د كلھا تنتمي لمجموعة من القیم المحددة quantities discrete وعندھا یسھل معالجتھا بواسطة الحاسب الرقمي ، ویسمي ھذا المجال بـ" المعالجة الرقمیة للصور "وبالامكان تقسیم العملیات التي یتم اجرائھا على الصور الرقمیة باستخدام الحاسب إلى ثلاث مستويات (٦،٧):

١ -عملیات ذات مستوي منخفض وتھتم بمعالجة الصورة على مستوى البكسل، والتي تتضمن إزالة تشوه وتحسین التباین وزیادة حدة الصور اوعملیات تخفیف الضجیج Denoising وكشف الحواف Detection Edge .ویمكن وصف ھذه العملیات بأنھا تلك العملیات التي یكون دخلھا صورة وخرجھا صورة.

٢ -عملیات ذات مستوي متوسط وتستخدم المعلومات المُستخرجة من المستوى المنخفض . والتي تتضمن تقسیم الصورة إلى مناطق أو عناصر ثم وصف ھذه العناصر لاختزالھا إلى تمثیل صالح للمعالجة بالحاسب ، كما تشمل أیضا عملیات التعرف على عناصر محددة بالصورة . ویمكن وصف عملیات المستوي المتوسط بكونھا عملیات یكون دخلھا صورة وخرجھا خصائص وسمات مستخلصة من ھذه الصورة ، مثال ذلك أطر العناصر وھویة تلك العناصر.

٣ -عملیات ذات مستوي عال وھي التي تستخرج المعلومات المفیدة من المستویین السابقین وھي تطبیقات المعالجة مثل التعرف على الخط مثلاً . وعملیة فھم أو إدراك  “sense making“ لمجموعة من العناصر التي تم التعرف علیھا وفي قمة عملیات ھذا المستوي تأتي عملیات التعلم واكتساب المعرفة المرتبطة بالرؤیة بالحاسب .

تحسین الصورة الرقمیة enhancement Image Digital  :

أن عملیة تحسین الصور ھي عملیة processing pre حیث قد نحتاج الى عمل تحسین للصورة الرقمیة لغرض تھیئتھا لعملیة قادمة اخرى مثل عملیة الضغط وقد تكون عملیة التحسین ھي processing post عندما یتم اجراءھا على الصور التي تنتج من عملیات مثلآ یتم جراء تحسین الصور بعد عملیة فك الضغط لازالة الــ noise او التنعیم . وھناك عدة طرق لتحسین الصور منھا  (٦):

١ -المدرج الاحصائي للصورة (الھیستوغرام (Histogram :

واحدة من خطوات تحسین الصور او التصحیح اللوني ھي استخدام المدرج الاحصائي histogram the ، حیث یتم اولا معاینة الصورة وتحدید مالمطلوب انجازه فیھا. ویمثل الھیستوغرام عدد مرات تكرار قیمة لونیة معینة في الصورة، ویعبر عن احتمال ورود قیمة كثافة ضوئیة في الصورة، اي انھ لكل نقطة شاشة pixel سیتم حساب عدد مرات تكرارھا في الصورة وبقسمة المجموع على العدد الكلي لنقاط الشاشة نحصل على نسبة وجود تلك النقطة بالنسبة للصورة ككل. وكما یلي: (٨،١(

Hist.of pixel(n)=(numb. of pixels of value=n)/ total numb. of pixels

یستعمل الھیستوغرام في الحالات التالیة:

١ -للحصول على مسح افضل better scan للصورة

٢ -تحدید كمیة زیادة او نقصان السطوع او الاضاءة  brightness

 ٣ -تحدید التباین في الصورة contract 

٤ -اكتشاف وتصحیح المشاكل في القنوات اللونیة بشكل منفصل 

٥ -المدرج الاحصائي یخبرنا فیما اذا كان ھناك معلومات كافیة لتحسین الصورة

وأشھر طرق تحسین الإضاءة تتم بالاعتماد على الھیستوغرام Histogram وتعتبر من عملیات Processing-Pre الھامة في مختلف تطبیقات معالجة الصورة ونذكر منھا على سبیل المثال لا الحصر: معالجة الصور الثابتة: حیث قد تكون الإضاءة عند التقاط صورة سیئة، فلا تظھر الملامح بشكل جید(٩) . 

الشكل (١( یوضح المدرج الاحصائي لكل قنات لونیة (B,G,R (وكذلك مقدار التألق luminance المحسوب من معدل المعلومات الموجودة في القنوات اللونیة الثلاثة.

الشكل (١) : المدرج الاحصائي للصورة

2- العملیات الحسابیة Arithmetic operations  

وتشمل تنفیذ العملیة الحسابیة الاربع (الجمع، الطرح، الضرب، القسمة) على نقاط الصورة الرقمیة . ویمكن تقسیم ھذه العملیة الى قسمین (٤):

١ .العملیات العددیة: وھي عبارة عن تنفیذ العملیات الاربعة (الجمع، الطرح، الضرب، القسمة) لكل قیمة نقطة شاشة (pixel )مع قیمة عددیة ثابتة. وتكون مدخلات ھذه الطریقة صورة رقمیة مع قیمة معینة ثابتة ومخرجاتھا صورة . مثلا لاضافة القیمیة a للصورة f ، فانھا تحسب كالاتي:

Result_image(x,y) = (f)(x,y) = f(x,y) + a

تفید ھذه العملیات بتنفیذ بعض عملیات التحسین الناتجة عن انزیاح أو تقییس في تحصیل الصورة. یوضح الشكل (٢) مثالا في تحسین السطوع للصورة باستخدام العملیات العددیة .

الشكل (٢  :(مثال على تحسین السطوع في الصورة

2- عملیات صورة لصورة Operations Image-Image :وتكون مدخلات ھذه الطریقة صورة رقمیة مع صورة رقمیة اخرى ومخرجاتھا صورة. مثلا لنفترض وجود صورتین g,f ،لھما نفس الدقة Resolution عندئذ كل عملیة صورة لصورة (الجمع، الطرح، الضرب، القسمة) یتم تنفیذھا بین كل بكسلین بنفس الموقع أي أن الجمع مثلاً یحسب كما یلي:

Result_image(x,y) = (f+g)(x,y) = f(x,y) + g(x,y)

من التطبیقات المھمة في استخدام العملیات السلمیة ما یسمى بـ Blending Alpha ، وھو إدخال صورة ضمن أخرى بشفافیة متحكم بھا ویحسب كما یلي:

Alpha(f,g) = a*f(x,y) + (1-a)*g(x,y)

وبتغیر قیمة الثابت a نحصل على تداخل أكثر. ویوضح الشكل (٣ ) مثالا في استخدام الطرق السلمیة لاضافة صورتین باستخدام قیمة الثابت 5.0=a .

الشكل (٣ (مثال على اضافة صورتین

3- العتبة  Threshold 

العتبة ھي ابسط طریقة لتقسیم الصورة segmentation image ، كل نقطة شاشة pixel في الصور ذات التدرج الرمادي مثلا grayscale ستؤخذ بنظر الاعتبار كنقطة فعلیة عندما تكون قیمتھا اكبر من قیمة العتبة المفترضة ( مثلا للبحث عن جسم او شيء او اي جزء في الصورة یكون اكثر لمعانا او اضاءة من الخلفیة background) . نقطة الشاشة التي توافق الشروط تعتبر الشيء الذي نبحث عنھ وبعكسة فان النقطة تعتبر خلفیة background ، اي عندما تكون قیمة النقطة (pixel ) اصغر من القیمة المفترضة للعتبة. نظریا تحدد القیمة (١) لنقاط الشكل او الشيء object والقیمة (٠) لخلفیة الصورة. یمكن استخدام عدة قیم (عدة عتبات) لعدة مناطق في الصورة وھذا مایطلق علیه adaptive threshold  (٣،٦).

ان العامل الاساس یكمن في كیفیة اختیار قیمة العتبة ، توجد عدة طرق مختلفة لاختیار العتبة ، ابسط تلك الطرق واسھلھا ھي اختیار المتوسط الحساب or median value  mean والسبب الجوھري وراء ذلك یكمن في انھ لو كانت نقاط الشكل في الصورة اكثر اضاءة من باقي نقاط الصورة background  the فانھا ایضا اكثر اضاءة من المعدل او المتوسط mean . في الصور التي لاتحتوي على ضوضاء  image noiseless ذات الخلفیة المنتظمة مع الشكل uniform background and object  فان ال mean سوف یعمل بشكل جید وبشكل عام فانھ لیس الطریقة المثالیة (٩).

الطریقة الاكثر تطورا ھي ایجاد المدرج الاحصائي  the histogram لقیم نقاط الصورة pixel intensities ومنھا یتم استعمال نقطة الوادي  valley point كعتبة. ولكن لایمكنه تعریف نقطة الوادي بشكل واضح للعدید من الصور. في الحالة المثالیة نحن نبحث عن  طریقة بسیطة لاختیار العتبة لاتتطلب الكثیر من المعرفة المسبقة بالصورة وتعمل بشكل جید بالنسبة للصور التي تحتوي على ضوضاء noisy images .

الطریقة الجیدة ھي طریقة التكرار method  iterative وھي كما یلي:   ١ -یتم اختبار قیمة عتبة ابتدائیة (T )  initial threshold بشكل عشوائي او باي طریقة اخرى.

٢ -كما ھو موضح سابقا، ان الصورة مقسمة الى خلفیة ونقاط الاشیاء في الصورة ( background and object pixels) یتم تكوین مجموعتین:

1- Group1= { f (m,n): f (m,n) > T} (object pixel) 

2- 2- Group2= { f (m,n): f (m,n) <=T} (background pixels)

ملاحظة : (f (m,n ھي قیمة نقطة الشاشة pixel الواقعة في العمود m و الصف n

٣ -یحسبب المتوسط الحسابي لكل مجموعة كما یاتي:

1- Mean1 = average value of Group1 

2- Mean2 = average value of Group2

٤ -قیمة العتبة الجدیدة یتم حسابھا من معدل m1 و m2

T = (m1+ m2) / 2

٥ -ارجع الى الخطوة رقم (٢) وكرر العملیة مستخدما قیمة العتبة الجدیدة التي حصلت علیھا من الخطوة (٤) ، حتى تتطابق قیمة العتبة الجدیدة مع القیمة التي قبلھا او بمعنى اخر تتقارب convergence القیمتان.

العملي  practical

تم استخدام طریقة العتبة مع العملیات الحسابیة لاجراء عملیة تحسین للصور فقد تم اولا معاینة الصور لتحدید ما ھو مطلوب وبالتالي تحدید العملیات اللازمة لذلك وقم تم استعراض بیانات الصورة لتحدید قیمة العتبة او مدى القیم اللازم لتنفیذ ماھو مطلوب باكبر دقة ممكنة. تزداد العملیة تعقیدا عند التعامل مع صور النصوص او مع الصور الملونة ، وعموما فان ھناك ترابط عالي correlation  high بین نقاط الصورة pixels ( وخاصة في الصور الطبیعیة سواء الصور العادیة ام الصور االملونة)، ویقصد بھ وجود علاقة بین النقاط المتجاورة في الصورة وبالتالي فانھ من الممكن معرفة قیمة النقطة التالیة من النقطة التي تسبقھا مثلا حیث انھا غالبا ماتكون مقاربة لھا في قیمة او مقدار الشدة باستثناء مناطق الحافات edge .وھذا مایتسبب في تعقید مسئلة تحدید قیمة العتبة او تحدید العملیات الحسابیة الملائمة بشكل دقیق. فقد نحتاج الى اكثر من عتبة او اكثر من عملیة حسابیة او خلیط منھا، لاجراء غرض واحد.

النتائج والمناقشة  Results and Discussions

في البرنامج الخاص بھذا البحث تم اجراء عدة اختبارات لمعاجة الصور مثل تغییر او ازالة الوان الصورة او الخلفیة background ومعالجة سوء توزیع الاضاءة brightness وازالة التشوھات جراء خطأ او خلل.

١ - تبدیل وازالة الالوان : 

یوضح الشكل (٤) مثالا على تبدیل وازالة الالوان ، الصورة a تمثل الصورة الاصلیة اما الصور d,c,b فھي تمثل الصور الناتجة بعد المعالجة.

الشكل (٤( مثال على تبدیل وازالة الالوان

٢ -تبدیل خلفیة الصورة background :

یوضح الشكل (5 (مثالا على تبدیل خلفیة الصورة ، الصورة a تمثل الصورة الاصلیة اما الصور d,c,b فھي تمثل الصور الناتجة بعد المعالجة.

الشكل (٥) مثال على تبدیل خلفية الصورة

ان عملیات معالجة الصور في الامثلة السابقة قد تبدو تقلیدیة یمكن ان توفرھا برامج معالجة الصور المتوفرة لكني اود ان اذكر انھ البرنامج الحالي لایتطلب تدخل من المستخدم او اي احتراف ، كل مایتطلبھ البرنامج ھو تحمیل الصورة المطلوب معالجتھا .

٣ -تصحیح الاضاءة :

من المشاكل الجدیرة بالاھتمام في معالجة الصور الرقمیة ھي مشكلة عدم انتظام الاضاءة او السطوع في الصورة ، ویوضح الشكل (a-7 ) و (b-7 ) مثالا في عدم انتظام الاضاءة في جمیع اجزاء الصورة ، اما الشكل (c-7 ) فھو لصورة ذات سطوع عالي .

من الواضح ان مثل تلك الصور لایمكن تحسین الاضاءة فیھا باستخدام العملیات الحسابیة فقط وقد تم استخدام العتبة threshold لھذا الغرض بنجاح ، ویوضح الشكل (d-7) الصور السابقة بعد المعالجة.

 مثال اخر

الشكل (٨( مثال على تبدیل وازالة لون النص

٥ -ازالة الالوان غیر المرغوب بھا :

یوضح الشكل (٩ ) مثالا لازالة الالوان غیر المرغوب بھا والتي تشوه النص اثرحادث.قمت باعداد ھذه الصورة لغرض البحث، فالشكل(a ) یمثل نص قمت باجراء بعض التاثیرات علیھ بواسطة احد البرامج المتوفرة وھي رش اللون الاصفر على صورة نص باللون الازرق، والشكل(b )یمثل صورة النص بعد المعالجة.

الشكل (٩( مثال على ازالة الالوان غیر المرغوب بھا.

٦ -معالجة التباین في اجزاء من النص:

یوضح الشكل (١٠ ) مثالا لمعالجة التباین في بعض الكلمات في النص، ھذه الصورة ایضا تم اعدادھا لغرض البحث فالشكل (a ) یمثل تغییر لون بعض الكلمات لتبدو اقل سوادا من باقي النص ویمثل الشكل (b )  النص بعد المعالجة.

الشكل (١٠ ( : مثال على معالجة التباین في اجزاء من النص.

٧ -تحسین صورة النص:

یوضح الشكل (١١ ) مثالا في تحسین صورة نص قد تشوه بسبب سقوط شيء من المشروبات علیھ. تم اعداد ھذه الصورة في الشكل a ایضا لغرض البحث حیث تم سكب شيء من الشاي على الورقة وتركھ لیظھر تاثیره، ثم تم معاینة الورقة لتخمین قیمة العتبة المناسبة لمعالجة مثل تلك التشوھات. ویوضح الشكل b صورة النص بعد المعالجة.

الشكل (١١ ) : مثال على تحسین صورة النص.


الاستنتاج Conclusion

ان تطبیق طریقة العتبة مع بعض العملیات الحسابیة لتحسین الصور الرقمیة اثبت نجاحا مقارنة مع البرامج الجاھزة الخاصة بذلك، فقد تم تنفیذ عدة عملیات تحسین بدون تدخل المستفید وھو الامر الذي تتطلبة برامج معالجة الصور، كما تم معالجة صور النصوص بنجاح وسرعة في الانجاز لانحصل علیھما عند استخدامنا لتلك البرامج.

هذا  فيديو يوتيوب عن النظام
لطلب النظام او انظمة مشابهة لهذا النظام وبكافة لغات البرمجة من خلال التواصل معي
07716055733
او https://facebook.com/iqjoker
او https://www.facebook.com/HamedDiyala

ليست هناك تعليقات