تبدیل نوع تصویر به یکدیگر با استفاده از ابزار متلب (بخش چهارم-جلسه 6)

موسسه پایاپروژه به عنوان متصدی انجام پروژه های پردازش تصویر با  متلب وظیفه ی خود می داند که در راستای آموزش نرم افزار متلب گام های موثری را بردارد. با توجه به اینکه یک دوره آموزشی متلب مستلزم تمرین و تلاش بسیار است. اما این موسسه تلاش می کند سهم کوچکی در جهت یادگیری شما داشته باشد.

 

با پایا پروژه در بخش پایانی آموزش متلب و تبدیل نوع تصویر همراه باشید. در بخش های قبل 9 تابع توضیح داده شد و در ادامه سه تابع باقیمانده ارائه خواهد شد.

تبدیل انواع تصاویر به یکدیگر

  1. imsplit

این تابع، تصویر چند کاناله را به k کانال جداگانه تقسیم می‌کند. شیوه استفاده از آن به شکل زیر است.

[c1,c2,c3,…,ck] = imsplit(I)

  • مرحله اول: وارد کردن تصویر

I = imread(‘peppers.png’);

imshow(I)

تصویر اولیه

 

  • مرحله دوم: استفاده از تابع و نمایش آن

[r,g,b] = imsplit(I);

montage({r,g,b},’Size’,[1 3])

تبدیل نوع تصویر – استفاده از imsplit

 

در ضمن برای نمایش سه کانال HSV ابتدا باید تصویر RGB از طریق کد زیر به HSV تبدیل شود و بقیه مراحل یکسان است.

hsvImage = rgb2hsv(rgbImage);

 

  1. demosaic

این تابع، تصویر رمزگذاری شده با الگوی Bayer را به truecolor تبدیل می‌کند. آرایه فیلتر Bayer در هر خانه خاص می‌تواند، فقط یک رنگ سبز و قرمز و یا آبی را ذخیره کند. ابتدا به عکس و سپس به مثال زیر توجه کنید.

 

الگوی آرایه Bayer

 

 

  • مرحله اول: وارد کردن تصویر

I = imread(‘mandi.tif’);

imshow(I);

تصویر اولیه

 

 

  • مرحله دوم: استفاده از تابع

J = demosaic(I,’bggr’);

figure, imshow(J);

تبدیل نوع تصویر – استفاده از demosaic

 

  1. label2rgb

این تابع label matrix را به تصویر RGB تبدیل می‌کند و به پنج شیوه زیر مورد استفاده قرار می‌گیرد

RGB = label2rgb(L)

RGB = label2rgb(L,cmap)

RGB = label2rgb(L,cmap,zerocolor)

RGB = label2rgb(L,cmap,zerocolor,order)

RGB = label2rgb(___,’OutputFormat’,outputFormat)

 

 

L برابر با ماتریس اعداد صحیح غیر منفی است و cmap نیز colormap ی است که در تصویر RGB استفاده خواهد شد. از zerocolor برای انتخاب رنگ background استفاده می‌شود که مقدار پیش فرض آن [1 1 1] و به معنی رنگ سفید است. برای توضیح بیشتر به عکس زیر نگاه کنید.

 

 

الگوی رنگی zerocolor

 

مقدار order نیز shuffle و یا noshuffle را می‌پذیرد که عنوان اول نشان دهنده توزیع رنگ در ماتریس به صورت ترتیبی و عنوان دوم به توزیع رنگ به صورت تصادفی اشاره دارد.

شیوه آخر نیز  نشاندهنده قالب خروجی است که image و یا triplets است. به مثال زیر نگاه کنید

  • مرحله اول: وارد کردن تصویر

I = imread(‘rice.png’);

imshow(I)

تصویر اولیه

 

 

  • مرحله دوم: ایجاد label matrix

BW = imbinarize(I);

CC = bwconncomp(BW);

L = labelmatrix(CC);

  • مرحله سوم: استفاده از تابع

RGB = label2rgb(L);

figure

imshow(RGB)

تبدیل نوع تصویر – استفاده از label2rgb

 

در روش دوم نیز از colormap، spring و رنگ CYAN و توزیع ترتیبی برای تبدیل نوع تصویر استفاده شده است.

RGB2 = label2rgb(L,’spring’,’c’,’shuffle’);

figure

imshow(RGB2)

تبدیل نوع تصویر – استفاده از label2rgb

 

برای سفارش پروژه متلب و انجام پروژه های متلب با ما در ارتباط باشید.

 

منابع:

  1. https://de.mathworks.com

 

دیدگاهتان را بنویسید

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

این زمینه را پر کنید
این زمینه را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

چهارده − 11 =

سفارش پروژه