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

انواع تصاویر در  جعبه ابزار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جهت دانلود آموزش جامع پردازش تصویر در متلب بر روی تصویر بالا کلیک فرمایید

 
 

پیام بگذارید

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

twelve − = ten