پردازش تصاویر رنگی در متلب و مفهوم نویز
در دو بخش قبل درباره ی مسیر بینایی انسان و همچنین مفاهیم اولیه ی پردازش تصویر صحبت کردیم. در این بخش درباره پردازش تصاویر رنگی و همچنین مفهوم نویز صحبت خواهیم کرد.
تصویر رنگی
مسیر بینایی انسان از سه نوع سلولهایی مخروطی جهت درک و تفکیک هزاران رنگ مختلف استفاده میکند، این در حالی است که مسیر بینایی انسان حدودا 30 سطح شدت روشنایی را میتواند از هم تفکیک کند. این قابلیت توانایی ما را در تشخیص و شناسایی اشیاء در یک صحنه را گسترش می دهد. در حالی که تصاویر رنگی، تصاویری که توسط یک دوبین گرفته می شوند، رنگ های دیده شده توسط چشم را روی یک عکس تکرار می کنند، تصاویر پزشکی رنگها را ثبت نمیکنند، و تنها شدت روشنایی را ثبت می کنند. برای مثال، شدت روشنایی در تصاویر پزشکی نشان دهنده ی میزان جذب اشعه x توسط بدن،یا میزان امواج ساطع شده توسط بدن در اولتراسوند می باشد. در برخی موارد شاید اضافه کردن رنگ به تصویر، شاید در درک بهتر ویژگیهای تصویر مفید باشد. رنگ اضافه شده به تصویر، رنگ کاذب یا شبه رنگ است، و رنگهای واقعی دیده شده توسط چشم نخواهد بود.
مدلها و سیستمهای مختلفی جهت تعیین و مشخص کردن رنگهای واقعی وجود دارد، که هر کدام از مدلها و سیستمهای یک سیستم مختصاتی دارد که در داخل آنها هر رنگ توسط یک نقطه نشان داده می شود. مدل RGB، قرمز، سبز، آبی، به طور گسترده در تصویربرداری، پردازش و نمایش تصویر استفاده می شود. به عنوان مثال در دروبینهای فیلمبرداری رنگی و مانیتورهای رنگی از مدل RGB استفاده می شود. بسیاری از رنگها را میتوان با ترکیب سه رنگ اولیه، قرمز، سبز و آبی، همانند پاسخ سلولهای مخروطی در بخش شبکیه چشم انسان، ایجاد کرد.
همانطور که در شکل زیر مشاهده میکنید، فضای رنگی RGB، یک مکعب واحد است و هر محور یکی از رنگهای اولیه را نشان می دهد. مبدا مختصات، جایی است که مکعب فاقد سه رنگ اصلی است و این نقطه نشان دهنده رنگ سیاه است، در حالی که رأس مخالف، ترکیب سه رنگ اولیه است، و این نقطه در مکعب نشان دهنده رنگ سفید می باشد. رأسهای دیگر نشان دهنده ی رنگهای ثانویه فیروزه ای، بنفش و زرد میباشند که هر کدام از این رنگ های ثانویه از ترکیب دو رنگ اصلی بدست می آیند. در این مدل، تمام رنگهای دیگر در داخل مکعب توسط سه مولفه مشخص می شوند، هر نقطه میزان مقادیر رنگهای اصلی مورد نیاز جهت ایجاد یک رنگ خاص را مشخص می کند. هر کدام از این مولفه ها، معمولا با یک بایت(محدوده ای از 0-255)، تعیین می شود. برای مثال، قرمز روشن مقدار (255,0,0) و زرد روشن مقدار (255,255,0) دارد. از آنجا که رنگهای قرمز، آبی و سبز هر کدام میتوانند به صورت مستقل تعیین شوند، میتوان 2563 رنگ با سه رنگ اصلی تولید کرد. در فایل تصویر، سه صفحه، یا بهتر است بگوییم سه ماتریس، که هر صفحه برای یک رنگ اصلی می باشد، برای ذخیره هر تصویر استفاده می شود. از آنجا که هر پیکسل، توسط سه بایت مشخص می شود، عمق تصویر 24 بیت می باشد و حجم هر تصویر رنگی سه برابر بیشتر از حجم یک تصویر سطح خاکستری است. تصاویر رنگی RGB را با اسم تصاویر true color و یا 24 بیتی نیز می شناسند.
نکته: در جلسات بعدی انواع تصاویر در متلب و پایتون را به صورت عملی توضیح خواهیم داد.
چرا در برخی موارد تصویر RGB را به فضای HSV می برند؟
گرچه، مدل RGB به نظر می آید که با مدل فیزولوژیکی چشم انسان که سلولهای مخروطی آن هر کدام به یک رنگ خاصی حساس است، مطابقت بیشتری داشته باشد، اما در برخی موارد استفاده از روشهای پردازش تصاویر رنگی مدل RGB باعث ایجاد نتایج ناخواسته می شود. برخی از روشهای پردازش تصاویر سطح خاکستری، می توانند به صورت مستقیم روی تصاویر رنگی مدل RGB اعمال شوند، یعنی الگوریتم روی هر صفحه رنگی قرمز، سبز و آبی به صورت جدا اعمال شوند، اما در برخی موارد، نمی توان از این روش ها به صورت مستقیم روی تصاویر رنگی RGB استفاده کرد. و در برخی موارد انجام این عمل باعث افزایش پیچیدگی محاسباتی می شود، و شاید نتوان در کارهای زمان حقیقی از این روشها استفاده کرد. برای مثال روشهای بهبود لبههای تصویر، در فضاهای رنگیای که شدت روشنایی( مقدار شدت روشنایی پیکسل) را از اطلاعات رنگی(Chrominance) جدا میکند، کارایی بیشتری دارند.
Chrominance توسط دو پارامتر فام (hue) و اشباع (saturation) تعیین می شود؛ فام فرکانس رنگ غالب می باشد و اشباع میزان خالص بودن رنگ را مشخص میکند، برای مثال میزان نور سفید ترکیب شده با طیف رنگی را میزان خالص بودن رنگ مشخص میکند. برای مثال، از ترکیب نور سفید با رنگ قرمز(اشباع شده)، رنگ صورتی(کمتر اشباع شده) تولید میشود. در چنین فضای رنگی، برای مثالHSV(hue, saturation, value) یا HSB(hue, saturation, brightness)، جهت بهبود لبه (تیز کردن لبهها) یا صاف کردن لبهها تنها مقادیر مولفه value/brightness نیاز به پردازش دارند.
اعمال الگوریتمهای تیزسازی(sharpening)، یا صاف کردن (smoothing) لبهها بر روی تصاویر با فضای رنگی RGB باعث شیفت پیدا کردن سطوح رنگی(تغییر رنگها) می شوند. چشم انسان به تغییرات جزئی در فضای رنگی RGB که توسط الگوریتمهای sharpening و smoothing ایجاد میشوند، بسیار حساس است و تغییرات جزئی در فضای رنگی RGB را به صورت قابل توجهی تشخیص میدهد و نمیتواند این تغییرات را نادیده بگیرد، این این در حالی است که تغییرات جزئی در اشباع و یا شدت روشنایی را متوجه نمی شود. تبدیلات خطی را میتوانیم در فضای رنگی RGB بر روی هر صفحه R,G و B به صورت جداگانه اعمال کنیم، اما نمیتوانیم تبدیلات غیرخطی مثل، متعادل کردن هیستوگرام تصویر، فیلتر میانه، را در فضای رنگی RGB انجام دهیم. اگر قرار است عملیات غیرخطی روی تصاویر انجام دهیم، ابتدا بایدتصاویر رنگی از فضای رنگی RGB به فضای رنگی HSV/HSB تبدیل شوند، و سپس در این فضا عملیات بر روی صفحه شدت روشنایی(brightness / value) اعمال شوند، و البته میتوان روی صفحه saturation هم عملیات را انجام دهیم اما نباید تبدیلاتی روی صفحه hue انجام دهیم.
معمولا در ابتدا تصویر RGB را به فضاهای رنگی دیگری منتقل می کنند، سپس الگوریتمهای پردازشی را روی تصاویر در فضای رنگی جدید مثلHSI اعمال می کنند، و در نهایت برای نمایش تصویر، تصویر به فضای رنگی RGB بر میگردانند. روشهای زیادی برای تبدیل فضای رنگی RGB به سایر فضاهای رنگی وجود دارد. در جلسات بعدی به صورت کامل و تخصصی در محیط متلب و پایتون روشهای پردازش تصویر رنگی را همراه با مثالهای عملی آموزش خواهیم داد.
محتوای نویز
نویز به نوسانات تصادفی و ناخواسته در تصویر گفته می شود، منابع اصلی نویز در یک سیستم تصویربرداری دیجیتال عبارتند از نویز فوتون (یا کوانتومی) که از ماهیت گسسته تابش الکترومغناطیسی و تعامل آن با ماده و نویز الکترونیکی در آشکارسازها یا تقویت کننده ها بوجود می آید. اگر از یک کاست صفحه فیلم برای بدست آوردن تصویر استفاده شود، دانههای منفرد (individual grains) درون فیلم و صفحه فلورسنت تغییرات تصادفی در تراکم فیلم ایجاد می کنند: سهم نویز در صفحه نسبت به سهم فیلم بیشتر است. در فرایند دیجیتال کردن تصویر نیز نویز (نویز کوانتیزهسازی) به تصویر اضافه میشود. نویز فوتون یا کوانتوم معمولا تابع توزیع پواسون دارد و نویز الکترونیکی همیشه توزیع گوسی دارد. این تغییرات تصادفی ناخواسته به راحتی در یک ناحیهای از تصویر که انتظار میرود یک شدت روشنایی ثابتی داشته باشد، قابل اندازهگیری است. میتوان از واریانس مقادیر پیکسلهای موجود در ناحیه موردنظر به عنوان توان نویز (PN) استفاده کرد. برای درک اهمیت آن، نویز باید با میانگین توان(PS) یا شدت روشنایی تمام مقادیر پیکسلها در تصویر، مقایسه شود. نسبت سیگنال به نویز (SNR) برابر با نسبت میانگین توان تصویر یا سیگنال به توان نویز است. اغلب برحسب دسی بل با گرفتن لگاریتم بر مبنای 10 ضربدر 10 بیان می شود:
اگر نویز به صورت مکانی غیرهمسته باشد، یعنی نویز یک بخش از تصویر به نویز بخش دیگری از تصویر ارتباطی نداشته باشد، رابطه بالا میتواند نویز را به طور کامل توصیف کند. در تصویر زیر یک سیگنال یک بعدی با تغییرات یکسان نشان داده شده است، که ظاهری بسیار متفاوت دارد. نویز در بخش i تقریبا غیرهمبسته است و اگر دقیق صحبت کنیم، تنها در فاصله بسیار کمی همبستگی دارد، این در حالی است که نویز در تصویر ii در فاصله زیاد همبستگی دارد، به طوری که مقادیر نزدیک بهم مقادیر یکسانی دارند. میزان همبستگی مکانی را می توان با تابع خودهمبستگی (autocorrelation) مشخص کرد. نمونههایی از نویز که مشخصات متفاوتی نشان میدهند عبارت اند از نویز گوسی و نویز یکنواخت.
در یک سیستم تصویربردای نویزهای ایجاد شده ترکیبی از چندین منبع نویزی هستند و تشخیص جداگانه این نویزها تقریبا غیرممکن است. تصویر تولید شده با صفحه خاکستری یکنواخت، که باید شدت روشنایی با توزیع یکنواخت تولید کند، توزیعی از نقاط خاکستری در اطراف مقدار میانگین دارد. عرض توزیع یک معیار برای اندازه گیری مقدار محتوای نویز در تصویر است. در جلسات بعدی به طور کامل در مورد انواع نویز و روشهای کاهش نویز تصویر صحبت خواهیم کرد
موفق باشید
دیدگاه ها