تفاوت راهبرد اجرا میان BXT و deconvolution سنتی
اخیراً که با BlurXTerminator (BXT) مشغول پردازش تصویر بودم، یکی از دوستان همعلاقه پرسید: آیا در کاربرد آن با deconvolution سنتی تفاوتی هست؟ در اینجا چند نکته از تجربهام را در میان میگذارم.
deconvolution سنتی: فقط روی کانال luminance (L) اجرا میشود
بهطور سنتی، deconvolution تنها روی کانال luminance اجرا میشود. بنابراین:
- در تصویرهای دوربین تکرنگ (mono)، deconvolution مستقیماً روی کانال L اجرا میشود و کانالهای RGB کنار گذاشته میشوند؛
- در تصویرهای دوربین رنگی (OSC)، نخست کانال luminance از تصویر RGB استخراج و روی آن کار میشود و تصویر RGB اصلی کنار گذاشته میشود.
این منطق سالهاست که برقرار است، زیرا آنچه deconvolution عمدتاً به آن میپردازد جزئیات لایههای روشنایی و تیزی ستارههاست.
BXT کمی فرق دارد: ستارهها بهشدت کوچک میشوند
BXT در کاربرد یک تفاوت کلیدی دارد — ستارهها را به میزان زیادی کوچک میکند. اگر همان روش سنتی «اجرا فقط روی کانال luminance» را ادامه دهید، وضعیت سمت راست تصویر زیر پیش میآید: ستارههای کانالهای RGB آشکارا بزرگتر از ستارههای کانال L هستند و در نتیجه گرداگرد ستارهها ابیراهی رنگی پدیدار میشود. برعکس، اگر همزمان روی L و RGB اجرا کنید، این مشکل تقریباً رخ نمیدهد (مانند تصویر سمت چپ).

راهبرد پیشنهادی برای اجرا
بسته به نوع دوربین، روشی که پیشنهاد میکنم این است:
- تصویرهای دوربین تکرنگ: همزمان روی L و RGB اجرا کنید؛ یا فقط روی L اجرا کنید، اما در این صورت باید ستارههای کانالهای RGB را جداگانه کوچک کنید تا با ستارههای کوچکشدهٔ L هماهنگ شوند.
- تصویرهای دوربین رنگی: لازم نیست نخست L را استخراج کنید؛ کافی است مستقیماً روی تصویر RGB اجرا کنید و سپس L را برای دیگر پردازشهای لازم یا برای کشش استخراج کنید.
BXT کار deconvolution را هم سریع و هم خوب کردهاست، اما اندازهٔ ستارهها را تغییر داده و به دنبال آن راهبرد هماهنگی میان کانالها را نیز تغییر دادهاست. تنها با درک همین نکته میتوان از این پرهیز کرد که پس از زحمت فراوان برای افزایش تیزی، سرانجام یک حلقه ابیراهی رنگی نصیبتان شود. خوشحال میشوم اگر شما هم تجربههای خود را دربارهٔ BXT یا deconvolution سنتی در میان بگذارید.