
_START_ARTICLE_
ترشيح (رسوميات)
_START_PARAGRAPH_
في مجال رسوميات الحاسوب، الترشيح (بالإنجليزية: filtering) هو تمرير صورة من خلال عملية تعالج كل بكسل من بكسلاتها، للحصول على تأثير معين.
_START_SECTION_
شرح تقني
_START_PARAGRAPH_
العملية المذكورة أعلاه هي دالة رياضية تأخذ عدداً محدداً من البكسلات كقيم لونية، وتحسب منها قيمة لونية وحيدة جديدة. يتم تطبيق الدالة مرة واحدة على كل بكسل من البكسلات في الصورة المرغوب ترشيحها. في هذه العملية يتم التعامل مع البكسلات كمتجهات لونية ثلاثية الأبعاد (أو رباعية الأبعاد في بعض الأحيان)، حيث يعتبر كل من المكونات اللونية الأساسية (الأحمر، الأخضر، والأزرق) محوراً في الفراغ اللوني (س، ص، ع)._NEWLINE_قد يكون المرشح مؤلف من دالة خطية واحدة، أو من مجموعة عمليات رياضية غير خطية، أو عملية التفاف._NEWLINE_من أشهر المرشحات في رسوميات الحاسوب مرشح الغباشة (أو التنعيم) (بالإنجليزية: blur)، وله أشكال عديدة يمكن رؤية بعضها من قائمة المرشحات في برنامج أدوبي فوتوشوب، كما أنه يستخدم بكثرة في الرسوميات ثلاثية الأبعاد (انظر قسم الترشيح في الرسم ثلاثي الأبعاد أدناه).
_START_SECTION_
مكونات المرشح
_START_PARAGRAPH_
يتكون المرشح من ثلاثة أجزاء تحدد شكل نتيجته النهائية. هذه الأجزاء هي:
_START_SECTION_
دالة الترشيح
_START_PARAGRAPH_
(بالإنجليزية: filter function)، الدالة الرياضية (أو سلسلة العمليات الرياضية) التي تأخذ قيمة البكسل اللونية من الصورة وتحسب منها قيمة لونية جديدة._NEWLINE_إضافةً إلى البكسل الفعلي، فإن الكثير من دوال المرشحات الشائعة تأخذ أيضاً البكسلات المحيطة بالبكسل الفعلي كمدخلات لها. ولكل بكسل تأخذه الدالة معاملاً يحدِّد "وزنه" أو مدى تأثيره ضمن المعادلة. هذه الأوزان تلعب دوراً كبيراً في التأثير النهائي للمرشح، ويتم ترتيبها في مصفوفة تدعى النواة (انظر المرشح القياسي).
_START_SECTION_
النافذة
_START_PARAGRAPH_
(بالإنجليزية: filter window)، تحدد عدد البكسلات التي تستقبلها دالة الترشيح. سبق وذكرنا أنه عند معالجة كل بكسل من الصورة يتم أيضاً جلب عدد من البكسلات المحيطة وأخذها بالحسبان. فمثلاً، لو جلبنا محيطاً بعرض بكسل واحد، فإن عدد البكسلات الكلي سيكون 9 (البكسل المركزي، والثمانية بكسلات المحيطة)._NEWLINE_النافذة يعبر عنها كعرض وارتفاع (فنقول أن النافذة للمرشح هي 3×3 بكسل، مما يعطي المرشح 9 بكسلات كما في المثال السابق). مركز النافذة يكون دائماً عند إحداثيات البكسل الأساسي. لا يسمح بأن يكون حجم النافذة أصغر من بكسل واحد.
_START_SECTION_
النواة
_START_PARAGRAPH_
(بالإنجليزية: filter kernel)، تحدِّد معامِلاً رياضياً لكل بكسل في النافذة، بحيث يكون هذا المعامِل أحد مُدخلات تابع الترشيح. عادةً عندما تـُذكَر النواة دون تفصيل، فإنه يقصد نواة تتألف من مصفوفة مُعامِلات يـُضرَب كلّ معامِل منها بالبكسل المقابل له في النافذة، ثم يتم أخذ المجموع كقيمة نهائية (انظر المرشح القياسي). هنا يجدر بالذكر أن المعاملات تحدد بحيث يكون مجموعها يساوي 1. في حال كون المجموع أكبر من 1، فإن الصورة الناتجة ستكون أكثر سطوعاً من الأصل، والعكس صحيح.
_START_SECTION_
المرشح القياسي
_START_PARAGRAPH_
فيما يلي الدالة القياسية المستخدمة للترشيح:_NEWLINE_حيث x و y هما إحداثيات البكسل المطلوب من الصورة، وَ:_NEWLINE_حيث m هي عرض نافذة المرشح، وَبالمثل:_NEWLINE_حيث n هي ارتفاع نافذة المرشح._NEWLINE_f تابع يعيد القيمة اللونية للبكسل عند الإحداثي المطلوب من الصورة الأصلية، و w يعيد المعامِل الموافق للبكسل من النواة (لاحظ أن مبدأ الإحداثيات في النواة هو العينة المركزية).
_START_SECTION_
الترشيح في تحجيم الصور
_START_PARAGRAPH_
تحجيم الصور هو أحد المجالات التي تعتمد بشدة على الترشيح. في عملية التكبير تكون المشكلة هي إيجاد قيم لونية تملأ البكسلات الجديدة التي لم تكن ضمن الصورة الأصلية. أما في عملية التصغير فإن المشكلة هي تحديد أي البكسلات يجب الإبقاء عليها وأيها يتم إهمالها في الصورة الجديدة التي تحوي عدداً أقل من البكسلات. يجدر بالذكر أن عملية التحجيم تعمل على العرض بشكل مستقل عن الارتفاع، أي أنه من الممكن تحجيم صورة لتكون أضيق وأطول من الأصل في نفس الوقت، مما يعني أن التضييق هو مسألة تصغير على البعد الأفقي، والإطالة هي مسألة تكبير على البعد الشاقولي (وهكذا بالنسبة لبقية الأبعاد إن كانت الصورة مكونة من أكثر من بعدين)._NEWLINE_يتم تنفيذ التحجيم عن طريق أخذ موقع كل بكسل من الصورة الجديدة، وإيجاد الموقع الموافق له في الصورة الأصلية. بسبب أن الحجمين مختلفين، فإن هذا الموقع قد لا يقع على إحداثيات صحيحة في الصورة الأصلية. مثلاً، نريد تحجيم صورة بأبعاد 10×10 بكسل إلى 50×50 بكسل. نبدأ بالبكسل الأعلى الأيسر من الصورة ونفرض أنه هو مبدأ الإحداثيات لدينا (0،0). الآن البكسل التالي (الثاني من اليسار) له الإحداثيات (1،0) في الصورة الجديدة، أما في الصورة الأصلية فإن إحداثياته ستكون (0.2،0) وذلك بتطبيق مبدأ النسبة والتناسب. والبكسل الثالث في الصورة الجديدة سيكون في الإحداثيات (0.4،0) في الصورة القديمة، وهكذا. أما البكسل رقم (30،0) في الصورة الجديدة فإنه يطابق البكسل (6،0) من الصورة الأصلية، وهو عدد صحيح بدون أي كسور، وهنا الوضع واضح ويمكننا أخذ القيمة اللونية للبكسل الجديد من الصورة الأصلية بشكل مباشر. لكن في حالة وجود كسور في إحداثي البكسل، فإنه يلجأ إلى واحد من أساليب الترشيح التالية لحل المسألة:
_START_SECTION_
ترشيح النقطة الأقرب
_START_PARAGRAPH_
(بالإنجليزية: Nearest-Point Filtering) وهو تقريب الإحداثي إلى أقرب عدد صحيح، ومن ثم قراءة القيمة اللونية عند ذلك الإحداثي ووضعها في البكسل في الصورة الجديدة.
_START_SECTION_
الترشيح الخطي
_START_PARAGRAPH_
(بالإنجليزية: Linear Filtering) وهو أخذ البكسلين المحيطين بالإحداثي، والدمج بينهما بنسبة تطابق الجزء الكسري من الإحداثي. مثلاً، للإحداثي 30.4 نأخذ البكسل رقم 30 ورقم 31، وندمج بينهما بنسبة 40% إلى 60% على الترتيب. القيمة اللونية الناتجة توضع في الصورة الجديدة. في الصور المسطحة (ثنائية البعد) يتم الدمج بين أربع بكسلات، وفي الصور الحجمية يتم الدمج بين 8 بكسلات.
_START_SECTION_
الترشيح التكعيبي
_START_PARAGRAPH_
(بالإنجليزية: Cubic Filtering) وهو نفس مبدأ الترشيح الخطي، إلا أن طريقة الدمج (أو الاستيفاء) تتم على منحني تكعيبي. نتائج هذا الترشيح تختلف عن الترشيح الخطي بأنها تعطي وزناً أكبر للون البكسل الأقرب (وكأنه حل يجمع مزايا ترشيح النقطة الأقرب والترشيح الخطي). تتسم الصور المحجمة بهذا النمط بالوضوح، لأن كمية الألوان الجديدة الداخلة إلى الصورة محدودة.
_START_SECTION_
الترشيح في الرسم ثلاثي الأبعاد
_START_PARAGRAPH_
يستخدم الترشيح في الرسوم ثلاثية الأبعاد بشكل واسع، حيث يتم تطبيق الكثير من المرشحات المعروفة (كالغباشة أو زيادة التباين أو إيجاد الحواف) لتحسين الصور النتاجة. إلا أن تحجيم الصور باستخدام مبدأ الترشيح له أهمية كبيرة في الرسوم ثلاثية الأبعاد. إذ أنه يعتبر أمراً أساسياً للتخلص من بعض عيوب الإظهار الناجمة عن عرض الإكساءات بشكل منظوري من خلال الكاميرا التخيلية، حيث أن المجسم المكسي قد يكون قريباً من الكاميرا مما يتطلب إكساءات بحجم أكبر لتظهر التفاصيل الإضافية، أو قد يكون المجسم بعيداً جداً مما يمنع عرض الإكساء بحجمه الأصلي، فيصبح بحاجة إلى تصغير. لذا فإن من أول المرشحات المستخدمة في الرسم ثلاثي الأبعاد هي مرشحات التحجيم، وهي نفسها المرشحات المذكورة أعلاه في قسم تحجيم الصور، مع بعض الإضافات بسبب طبيعة استخدام الإكساءات في الرسم. فيما يلي بعض الأنواع:
_START_SECTION_
الترشيح الخطي الثنائي
_START_PARAGRAPH_
(بالإنجليزية: Bilinear Filtering) يعمل على الإكساءات المسطحة (لذلك يدعى ثنائي)، وهو نفس الترشيح الخطي المذكور في قسم تحجيم الصور.
_START_SECTION_
الترشيح الخطي الثلاثي
_START_PARAGRAPH_
(بالإنجليزية: Trilinear Filtering) أيضاً يعمل على الإكساءات المسطحة لكن تلك التي تحتوي على طبقات ميب ماب (والتي تُعامَل كبعد ثالث). تتبع هذه الإكساءات نفس مبدأ الترشيح الخطي للصور ثلاثية الأبعاد.
_START_SECTION_
الترشيح الغير متجانس
_START_PARAGRAPH_
أو الترشيح المتباين (بالإنجليزية: Anisotropic Filtering)، هو امتداد للترشيح الخطي الثلاثي. إلا أنه يُسمح فيه بأخذ كل عينة في النواة من طبقة ميب ماب مختلفة في الإكساء بحسب توزيع العينات على الإكساء بعد إسقاطها من خلال الكاميرا المنظورية.
_START_SECTION_
مرشحات شهيرة
_START_PARAGRAPH_
فيما يلي نبذة مبسطة عن بعض أشهر المرشحات الخطية والغير خطية المنتشرة في رسوميات الحاسوب ومعالجة الصور:
_START_SECTION_
عكس الألوان
_START_PARAGRAPH_
(بالإنجليزية: Color Invert)، وهو من أبسط المرشحات، ويعتمد على نواة من بكسل واحد فقط بقيمة -1، وبعد تطبيق المرشح على الصورة يتم إضافة القيمة اللونية 1 (أو 255 كرقم صحيح) لجميع البكسلات.
_START_SECTION_
المرشح المتوسطي
_START_PARAGRAPH_
(بالإنجليزية: Median)، وهو مرشح غير خطي (لا يمكن التعبير عنه بمجرد النواة)، يهدف إلى إزالة التشويش من الصورة. حيث يقوم بترتيب القيم اللونية التي تقع في نافذة المرشح بشكل تصاعدي (أو تنازلي، لا فرق) ومن ثم انتقاء القيمة الوسطى في النافذة، ووضعها مباشرة في الصورة. مما يعني أن البكسل التالي سيأخذ القيمة المحدثة للبكسل السابق، وهكذا تستمر العملية على جميع البكسلات.
_START_SECTION_
ألوان مائية
_START_PARAGRAPH_
لا يوجد طريقة قياسية حتى الآن لتحويل الصور لتبدو وكأنها مرسومة بالألوان المائية. لكن إحدى أشهر الطرق المعروفة هي تطبيق المرشح المتوسطي عدد من المرات بشكل متتالي، ومن ثم يمكن تكميم القيم اللونية الناتجة، أو تطبيق مرشح إيجاد الحواف لتحديد المناطق اللونية أكثر.
_START_SECTION_
تشتيت
_START_PARAGRAPH_
(بالإنجليزية: Diffusion)، وهو مرشح غير خطي يتسبب بجعل الصورة مشتتة عن طريق تبديل أماكن البكسلات ضمن نافذة المرشح بشكل عشوائي. مقدار التشتيت يتعلق بحجم نافذة المرشح. يمكن تمثيل هذا المرشح باستخدام نواة تحوي القيمة 1 في أحد خلاياها فقط، حيث يتم اختيار خلية مختلفة بشكل عشوائي عند كل بكسل من الصورة.
_START_SECTION_
تشويش
_START_PARAGRAPH_
(بالإنجليزية: Noise)، وهو مرشح غير خطي يقوم بإضافة طبقة من القيم اللونية العشوائية فوق الصورة لتظهر مشوشة. قد تكون القيم اللونية من درجات اللون الرمادي فقط، أو أبيض وأسود، أو قيم لونية مختلفة. يستعمل هذا التأثير بشكل طفيف لكسر جمود المشاهد وإضفاء بعض الديناميكية إليها.