معالجة الصور والصور
نصيحة
راجع علامة التبويب النص والصور لمزيد من التفاصيل!
بالنسبة للكمبيوتر، الصورة عبارة عن مصفوفة من قيم البكسل الرقمية. على سبيل المثال ، ضع في اعتبارك المصفوفة التالية:
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 255 255 255 0 0
0 0 255 255 255 0 0
0 0 255 255 255 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
تتكون المصفوفة من سبعة صفوف وسبعة أعمدة ، تمثل قيم البكسل لصورة 7 × 7 بكسل (والتي تعرف باسم دقة الصورة). كل بكسل له قيمة بين 0 (أسود) و 255 (أبيض) ؛ مع قيم بين هذه الحدود تمثل ظلال رمادية. تبدو الصورة التي تمثلها هذه المصفوفة مشابهة للصورة التالية (المكبرة):
مصفوفة قيم البكسل لهذه الصورة ثنائية الأبعاد (تمثل الصفوف والأعمدة، أو إحداثيات xوy ) وتحدد مستطيلا واحدا من قيم البكسل. طبقة واحدة من قيم البكسل مثل هذه تمثل صورة ذات تدرج رمادي. في الواقع ، معظم الصور الرقمية متعددة الأبعاد وتتكون من ثلاث طبقات (تعرف باسم القنوات) تمثل درجات اللون الأحمر والأخضر والأزرق (RGB). على سبيل المثال ، يمكننا تمثيل صورة ملونة من خلال تحديد ثلاث قنوات من قيم البكسل التي تنشئ نفس الشكل المربع مثل مثال التدرج الرمادي السابق:
Red:
150 150 150 150 150 150 150
150 150 150 150 150 150 150
150 150 255 255 255 150 150
150 150 255 255 255 150 150
150 150 255 255 255 150 150
150 150 150 150 150 150 150
150 150 150 150 150 150 150
Green:
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 255 255 255 0 0
0 0 255 255 255 0 0
0 0 255 255 255 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
Blue:
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 0 0 0 255 255
255 255 0 0 0 255 255
255 255 0 0 0 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
ها هي الصورة الناتجة:
يتم تمثيل المربعات الأرجوانية بالمجموعة:
Red: 150
Green: 0
Blue: 255
يتم تمثيل المربعات الصفراء في الوسط بالمجموعة:
Red: 255
Green: 255
Blue: 0
عوامل تصفية
إحدى الطرق الشائعة لتنفيذ مهام معالجة الصور هي تطبيق عوامل تصفية التي تعدل قيم البكسل للصورة لإنشاء تأثير مرئي. يتم تعريف عامل التصفية بواسطة صفيف واحد أو أكثر من قيم البكسل، تسمى filter kernels. على سبيل المثال، يمكنك تعريف عامل التصفية باستخدام نواة 3x3 كما هو موضح في هذا المثال:
-1 -1 -1
-1 8 -1
-1 -1 -1
ثم يتم التفاف النواة عبر الصورة، وحساب مجموع مرجح لكل تصحيح 3x3 من وحدات البكسل وتعيين النتيجة إلى صورة جديدة. من الأسهل فهم كيفية عمل التصفية من خلال استكشاف مثال خطوة بخطوة.
لنبدأ بصورة تدرج الرمادي التي استكشفناها سابقا:
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 255 255 255 0 0
0 0 255 255 255 0 0
0 0 255 255 255 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
أولا، نقوم بتطبيق نواة التصفية على التصحيح العلوي الأيسر من الصورة، وضرب كل قيمة بكسل بقيمة الوزن المقابلة في النواة وإضافة النتائج:
(0 x -1) + (0 x -1) + (0 x -1) +
(0 x -1) + (0 x 8) + (0 x -1) +
(0 x -1) + (0 x -1) + (255 x -1) = -255
تصبح النتيجة (-255) القيمة الأولى في صفيف جديد. ثم ننقل نواة التصفية على طول بكسل واحد إلى اليمين ونكرر العملية:
(0 x -1) + (0 x -1) + (0 x -1) +
(0 x -1) + (0 x 8) + (0 x -1) +
(0 x -1) + (255 x -1) + (255 x -1) = -510
مرة أخرى، تتم إضافة النتيجة إلى الصفيف الجديد، الذي يحتوي الآن على قيمتين:
-255 -510
تتكرر العملية حتى يتم التفاف عامل التصفية عبر الصورة بأكملها، كما هو موضح في هذه الحركة:
يتم التفاف عامل التصفية عبر الصورة، مع حساب صفيف جديد من القيم. قد تكون بعض القيم خارج نطاق القيمة من 0 إلى 255 بكسل، لذلك يتم ضبط القيم لتتناسب مع هذا النطاق. بسبب شكل عامل التصفية، لا يتم حساب الحافة الخارجية لوحدات البكسل، لذلك يتم تطبيق قيمة ترك المساحة (عادة 0). يمثل الصفيف الناتج صورة جديدة قام فيها عامل التصفية بتحويل الصورة الأصلية. في هذه الحالة، كان لعامل التصفية تأثير تمييز الحواف الأشكال في الصورة.
لمعرفة تأثير عامل التصفية بشكل أكثر وضوحا، إليك مثال على نفس عامل التصفية المطبق على صورة حقيقية:
| الصورة الأصلية | صورة تمت تصفيتها |
|---|---|
|
|
نظرا لأن عامل التصفية ملتف عبر الصورة، غالبا ما يشار إلى هذا النوع من معالجة الصورة باسم التصفية الالتفافية . عامل التصفية المستخدم في هذا المثال هو نوع معين من المرشحات (يسمى مرشح Laplace ) الذي يميز الحواف الموجودة على الكائنات في الصورة. هناك العديد من أنواع عوامل التصفية الأخرى التي يمكنك استخدامها لإنشاء ضبابية وشحذ وانعكاس الألوان وتأثيرات أخرى.