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

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

تعریف تبدیل نوع تصویر به صورت تخصصی یعنی تغییر نوع داده یک تصویر است؛ اما به زبان ساده به این معنی است که به عنوان نمونه یک عکس RGB  را به grayscale تبدیل کنیم. تبدیل تصاویر به یکدیگر به صورت گسترده برای تسریع محاسبات در پردازش تصاویر مورد استفاده قرار می‌گیرد. برای کسب اطلاعات بیشتر با ما همراه باشید.

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

در بخش اول این مقاله که به آموزش متلب و تبدیل نوع تصویر پرداخته بود، توابع cmap2gay ،gray2ind و im2gray و در بخش دوم نیز توابع ind2gray و mat2gray و rgb2gray توضیح داده شد در ادامه، پایا پروژه، تابع های بیشتری را ارائه خواهد داد.

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

  1. rgb2lightness

این تابع مقادیر رنگ RGB را به مقادیر lightness تبدیل می‌کند.

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

rgb = imread(‘peppers.png’);figureimshow(rgb)title(‘Input RGB Image’)

تصویر اولیه

 

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

lightness = rgb2lightness(rgb);figureimshow(lightness,[])title(‘Lightness Component of Image’)colorbar

 

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

 

پس از استفاده از این تابع و تبدیل نوع تصویر، دیتای خروجی از نوع single و یا double است.

  1. ind2rgb

این تابع، colormap مربوط به تصویر indexed شده را به رنگ های واقعی RGB تبدیل می‌کند.

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

[X,cmap] = imread(‘corn.tif’);imshow(X,cmap)

 

تصویر اولیه

 

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

RGB = ind2rgb(X,cmap);

تصویر X از نوع uint8 و آرایه ۴۱۵ در ۳۱۲ است. در حالی که آرایه خروجی باید آرایه ۳ بعدی ۲۵۶ تایی از نوع double باشد. کاری که در مرحله سوم انجام می‌شود این است که بررسی می‌کند مقادیر RGB در محدوده صفر و یک باشند.

  • مرحله سوم: بررسی مقادیر

disp([‘Range of RGB image is [‘,num2str(min(RGB(:))),’, ‘,num2str(max(RGB(:))),’].’])

پس از اجرای این کد خروجی به صورت زیر نمایش داده می‌شود.

Range of RGB image is [0.0078431, 0.97647].

  1. rgb2ind

این تابع تصویر RGB را به indexed image تبدیل می‌کند. استفاده از آن به چهار صورت زیر انجام می‌گیرد.

[X,cmap] = rgb2ind(RGB,Q)

[X,cmap] = rgb2ind(RGB,tol)

X = rgb2ind(RGB,inmap)

___ = rgb2ind(___,dithering)

در شکل اول، برای تبدیل نوع تصویر، تابع از حداقل کوانتیزاسیون واریانس با Q رنگ کوانتیزه شده استفاده می‌کند.

در شکل دوم، برای تبدیل از quanting يكنواخت با tolerance، tol که عددی بین صفر و یک است و dithering استفاده می‌شود. پیشنهاد می‌شود درباره روش گرافیکی dithering بیشتر بخوانید.

در شکل سوم، از الگوریتم inverse colormap برای تبدیل استفاده می‌کند که آرایه ورودی آن سه بعدی و ۲۵۶ تایی است. و در روش چهارم، dithering را فعال و یا غیرفعال می‌کند.

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

RGB = imread(‘ngc6543a.jpg’);

 

تصویر اولیه

 figureimagesc(RGB)axis imagezoom(4)

 

تصویر زوم شده

 

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

[IND,map] = rgb2ind(RGB,32);figureimagesc(IND)colormap(map)axis imagezoom(4)

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

 

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

منابع:

  1. https://de.mathworks.com

 

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

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

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

یک × 5 =

فهرست
WeCreativez WhatsApp Support
ساعت کاری 8 صبح الی 21 شب می باشد و از طریق شماره 09108760286 می توانید با ما در ارتباط باشید.
👋 سلام، چطور میتونم به شما کمک کنم؟