سؤال

أقوم بإنشاء تطبيق Android يوفر للمستخدم بعض وظائف معالجة الصور.ولكن قبل تطبيق أي وظيفة تحويل الصورة، أود إجراء تصحيح غاما لتحسين الصورة.أعرف كيفية إجراء تصحيح جاما ولكني لا أعرف ما هي قيمة جاما التي يجب استخدامها لأن الصورة نفسها لا تحتوي على قيمة جاما التي تم إنشاء الصورة بها.أي معلومات تتعلق بكيفية تحديد قيمة جاما لصورة معينة ستكون مفيدة للغاية.

هل كانت مفيدة؟

المحلول

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

قم بقياس متوسط ​​سطوع الصورة وقم بتسميتها a, ، مع القيم من 0-255.لديك هدف للسطوع الأمثل، دعنا نسمي ذلك t.إذا كانت جاما غير معروفة g ثم تحصل على:

t/255 = (a/255)^g

حل ل g يعطي:

g = log(t/255) / log(a/255)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top