معالجة الصور الرقمية أضف تعليق

معالجة الصور الرقمية

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

أنواع الصورة الرقمية

هي الصورة التي تمثل بمصفوفة بعداها MxN  وهي تحوي اللونين الأسود والأبيض فقط. بحيث ياخذ كل بكسل قيمة تمثل لون فالأسود يأخذ قيمة 0 بينما الأبيض يأخذ قيمة 1. (لا يوجد لون رمادي في هذا النوع من الصور).

هي صورة تمثل بمصفوفة ثنائية البعد MxN  وعناصرها من النوع doubleتقع بين المجال [0,1] حيث 0 يمثل الأسود و 1 الأبيض و ما بينهما درجات اللون الرمادي. كل عنصر في المصفوفة يمثل درجة لون لبكسل واحد ابيض او اسود او ما بينهما.

هي صورة تمثل بمصفوفة ثلاثية ثلاثية البعد MxNx3 عناصرها من نوع double او unit8 (سوف نشرح النوعين لاحقاً) , فكل بكسل في الصورة ينتج عن دمج ثلاثة مركبات لإعطاء اللون المناسب فالمركبة الحمراء مكونة من مصفوفة ثنائية (تستخرج من المصفوفة ثلاثية البعد) MxN يكون فيها قيمة اللون بين المجال [0,1] الأسود 0 و الأحمر 1 و ما
بينهما هو درجات اللون الأحمر , و كذلك بالنسبة للأزرق و الأخضر. وبدمج ثلاثة الألوان RGB  من ثلاثة مصفوفات ثنائية البعد نحصل على الألوان الحقيقية. يوجد نوعان لمجال اللون :

  • Double : يكون مجاله [0,1] بحيث يكون الأسود 0 و اللون 1 و درجات اللون بينهما بحيث تكون قيم اللون اصغر من الواحد (فاصلة) مثلا 0.234 .

  • Unit8 : تكون قيمته صحيحة Integer و يتراوح مجاله [0,255]  بحيث 0 يمثل الأسود و 255 اللون و ما بينهما درجات اللون. يستخدم نوع unit8 بدلاً من ال doubleللتقليل من مساحة الذاكرة و لتسريع من عملية معالجة الصور.

فتح وقراءة صورة

يتم فتح وقراءة صورة من أي نوع بإستخدام تعليمة Imread ,ويتم عرضها بإستخدام التعليمة imshow ونميز حالتين :

لفتح صورة وعرضها  من الجهاز الحاسب نستخدم الصيغة التالية :

;(X=imread (filename,format
;(Imshow(x

حيث تتم قراءة الصورة عبر المسار filename ذات الإمتداد format ومن ثم تخزينها في المصفوفة  x .

لفتح صورة من برنامج الماتلاب نفسه وعرضها نستخدم الصيغة التالية :

;(X=imread (filename,format
(Imshow(x

حيث تتم قراءة الصورة عبر المسار filename ذات الإمتداد format ومن ثم تخزينها في المصفوفة  x .

مثال

صورة من نوع RGB

X = imread(‘onion.png’);

imshow(X) ;

كتابة صورة Imwrite

بفرض أننا قمنا بمعالجة صورة معينة وأجرينا عليها التغييرات المناسبة ثم أردنا حفظ أو طباعة هذه الصورة على جهاز الحاسب بإسم جديد وإمتداد جديد نستخدم هذه التعليمة بالصيغة التالية :

;(Imwrite(image , filename

مثال

x=imread(‘C:UsersDigitalNetDesktopferrari’,’jpeg’)
imshow(x)
imwrite(x,’newferrari.bmp’);
هنا قمنا بطباعة نفس الصورة الموجودة على سطح المكتب إلى مسار الماتلاب الآتي (current folder  يظهر في شريط الأدوات في واجهة برنامج الماتلاب ) باسم جديدnewferrariوإمتداد جديد bmp.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *