تبدیل نوع تصویر به یکدیگر با استفاده از ابزار متلب (بخش چهارم-جلسه 6)
موسسه پایاپروژه به عنوان متصدی انجام پروژه های پردازش تصویر با متلب وظیفه ی خود می داند که در راستای آموزش نرم افزار متلب گام های موثری را بردارد. با توجه به اینکه یک دوره آموزشی متلب مستلزم تمرین و تلاش بسیار است. اما این موسسه تلاش می کند سهم کوچکی در جهت یادگیری شما داشته باشد.
با پایا پروژه در بخش پایانی آموزش متلب و تبدیل نوع تصویر همراه باشید. در بخش های قبل 9 تابع توضیح داده شد و در ادامه سه تابع باقیمانده ارائه خواهد شد.
تبدیل انواع تصاویر به یکدیگر
- imsplit
این تابع، تصویر چند کاناله را به k کانال جداگانه تقسیم میکند. شیوه استفاده از آن به شکل زیر است.
- مرحله اول: وارد کردن تصویر
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);
- demosaic
این تابع، تصویر رمزگذاری شده با الگوی Bayer را به truecolor تبدیل میکند. آرایه فیلتر Bayer در هر خانه خاص میتواند، فقط یک رنگ سبز و قرمز و یا آبی را ذخیره کند. ابتدا به عکس و سپس به مثال زیر توجه کنید.

الگوی آرایه Bayer
- مرحله اول: وارد کردن تصویر
I = imread(‘mandi.tif’);
imshow(I);

تصویر اولیه
- مرحله دوم: استفاده از تابع
J = demosaic(I,’bggr’);
figure, imshow(J);
تبدیل نوع تصویر – استفاده از demosaic
- 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
برای سفارش پروژه متلب و انجام پروژه های متلب با ما در ارتباط باشید.
منابع:
