انواع تصاویر در جعبه ابزار متلب

انواع تصاویر در  جعبه ابزارmatlab

جعبه ابزار پردازش تصویر نرم افزار matlab چهار نوع تصویر را تعریف  می کند.این انواع ،  نحوه تفسیر عناصر ماتریس داده تصاویر به وسیله matlab را مشخص می کنند. بر این اساس تصاویر به چهار نوع Binary(bilevel)  ،Indexed(pseudocolor)  ، Grayscale(intensity) ، Truecolor(RGB)  تقسیم می شوند.

Binary images

در یک تصویر باینری، هر پیکسل تنها یکی از دو مقدار گسسته صفر و یک را اختیار می کند. ماتریس داده هر تصویر باینری از نوع logical است. طبق قرارداد برای اشاره به نوع باینری از نام BW استفاده می شود. شکل زیر نمونه ای از یک تصویر باینری همراه با مقادیر تعدادی از پیکسل ها را نشان می دهد.

52395451852374503599

Indexed images

Indexed image یا یک تصویر اندیس گذاری شده از یک ماتریس داده و یک ماتریس جعبه رنگ تشکیل می شود. ماتریس جعبه رنگ یک ماتریسm-by-3 از نوع double است که مقادیر بین [0,1] را اختیار می کند. هر ردیف این ماتریس ارزش رنگ قرمز و سبز و آبی برای هر رنگ خاص را مشخص می کند. در یک تصویر اندیس گذاری شده مقدار هر پیکسل نمایشگر رنگ خاصی می باشد که با نگاشت مقدار آن پیکسل در ماتریس جعبه رنگ به دست می آید. بنابراین مقادیر ماتریس داده باید مقادیر صحیح باشند. مقدار 1 به اولین ردیف ماتریس و مقدار 2 به دومین ردیف ماتریس جعبه رنگ اختصاص دارد. شکل زیر ساختار یک تصویر اندیس گذاری شده را شرح می دهد. مقادیر پیکسل ها در تصویر بوسیله اعداد صحیح مقدار دهی شده اند که هر کدام نشانگر رنگ خاصی در جعبه رنگ هستند.

ماتریس جعبه رنگ معمولاً همراه تصویر ذخیره می شود و با فراخوانی تصویر در matlab همراه تصویر load می شود. لازم به ذکر است که لزوماً محدود به استفاده از  جعبه رنگ یا colormap پیش فرض نیستید و می توانیدcolormap دلخواه خود را انتخاب کنید.

نوع ارتباط بین ماتریس تصویر و colormap به نوع قالب ماتریس تصویر بستگی دارد. اگر قالب تصویر از نوع double باشد مقدار 1 به ردیف اول ماتریسcolormap اشاره میکند و به همین ترتیب… . اگر قالب تصویر از نوع uint8 or uint16 باشد، مقدار 0 به اولین ردیف و مقدار 1 به دومین ردیف colormapاشاره  می کند و به همین ترتیب… .

Grayscale Images

یک تصویر grayscale از یک ماتریس داده تشکیل می شود که نمایش دهنده شدت نور در یک گستره خاص است. این ماتریس می تواند از نوع uint8،uint16 ،int16 ،single ،double باشد. در حالیکه این نوع تصویر به ندرت همراه یک colormap ذخیره می شود، matlab برای نمایش آن ها از colormapاستفاده       می کند. برای یک ماتریس از قالب single یا double با استفاده ازcolormap پیش فرض، شدت نور 0، نمایشگر رنگ سیاه و شدت نور 1، نمایشگر رنگ سفید است. برای ماتریس از نوع uint8 ،uint16 ،int16 شدت نور intmin(class(i))  نمایشگر رنگ سیاه و شدت نور intmax(class(i))نمایشگر رنگ سفید است.

شکل زیر یک تصویر grayscale از قالب double را نشان می دهد.

67634171830121099100

True color (RGB)images

یک تصویر truecolor تصویری است که مقدار هر پیکسل آن به وسیله سه مقدار مشخص می شود که هر کدام آن ها برای ارزش رنگ قرمز و آبی و سبز برای هر پیکسل هستند. Matlab یک تصویر truecolor را بعنوان یک ماتریسm-by-n-by-3 ذخیره می کند(یعنی سه ماتریس دو بعدی) که  ارزش رنگ های قرمز و آبی و سبز را برای هر پیکسل خاص معرفی می کند. این نوع تصویر ازcolormap استفاده نمی کند. رنگ هر پیکسل از تصویر از ترکیب شدت رنگ های قرمز و سبز و آبی آن پیکسل تشخیص داده می شود.

 فرمت فایل های گرافیکی، تصویر RGB را بعنوان تصویر 24 بیتی ذخیره می کند، چراکه مقادیر قرمز و آبی و سبز هرکدام 8 بیتی هستند. حاصل آن داشتن گستره ای متشکل از شانزده میلیون رنگ مختلف است. یک تصویرRGB می تواند از قالب های uint8، uint16  ، single ، double باشد.

در ماتریس یک تصویر RGB از نوع double یا single عناصر هر رنگ مقادیری بین [0,1] به خود می گیرند. یک پیکسل که مقادیر رنگ آن(0,0,0)است، سیاه نمایش داده می شود و پیکسلی که مقادیر رنگ آن(1,1,1)است، سفید نمایش داده می شود.

 

 برای مثال مقدار رنگهای قرمز و سبز و آبی برای پیکسل(10,5) به ترتیب درRGB(10,5,3),RGB(10,5,2),RGB(10,5,1) ذخیره می شود. شکل زیر یک تصویر RGB از قالب double  را نمایش می دهد.

 

 

68075910167302508865

 

برای اینکه عمیق تر مفهوم سه رنگ متفاوت و ترکیب آن ها، که در این نوع تصاویر استفاده می شود را نشان دهیم؛ مثال زیر می تواند مفید باشد. تصویری به نام spectrum خوانده می شود و سپس با دستوراتی که در خطوط بعدی مشاهده        می کنید، ماتریس های رنگ قرمز و سبز و آبی آن را جدا کرده و هرکدام را جداگانه مشاهده می کنید. figure1 ، figure2 ، figure3 به ترتیب هرکدام شدت رنگهای قرمز و سبز و آبی تشکیل دهنده تصویر اصلی را نشان می دهند و در نهایت figure4 ترکیب این سه ماتریس را نشان می دهد.

خواندن تصویر

Spectrum=imread(‘spectrum.jpg’);

جدا کردن ماتریس اول(ذخیره کننده شدت رنگ قرمز)

 

R=spectrum(: , : , 1);

جدا کردن ماتریس دوم (ذخیره کننده شدت رنگ سبز)

 

G=spectrum(: , : , 2);

جدا کردن ماتریس سوم (ذخیره کننده شدت رنگ آبی)

 

 

 

نمایش ماتریس های R و Gو B وspectrum به صورت همزمان:

B=spectrum(: , : , 3);

 

 

 

Imshow(R);

figure,imshow(G);

figure,imshow(B);

figure,imshow(spectrum);

 

 

 

56536893302202204494

image-processing-matlab-download-trainجهت دانلود آموزش جامع پردازش تصویر در متلب بر روی تصویر بالا کلیک فرمایید

 

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *