تبدیل تصویر به نوع داده مختلف با استفاده از ابزار متلب (بخش سوم)
موسسه پایا پروژه به عنوان متصدی انجام پروژه های پردازش تصویر با متلب وظیفه ی خود می داند که در راستای آموزش نرم افزار متلب گام های موثری را بردارد. با توجه به اینکه یک دوره آموزشی متلب مستلزم تمرین و تلاش بسیار است. اما این موسسه تلاش می کند سهم کوچکی در جهت یادگیری شما داشته باشد.
یکی دیگر از ابزار متلب برای پردازش تصویر، تبدیل تصویر به نوع داده های مختلف است. این کار به دلایل مختلف مانند سهولت در ذخیره سازی و یا کاهش حجم یک تصویر و یا اهداف دیگر مورد استفاده قرار میگیرد. در ادامه توابع im2unit8و im2uint16 توضیح داده خواهند شد. با پایا پروژه همراه باشید.
تبدیل تصویر به نوع داده مختلف با استفاده از ابزار متلب (بخش سوم)
در دو بخش قبلی پردازش تصویر با متلب و تبدیل تصویر به یکی از Data Types رایج، توابع im2double و im2int16 و im2single را معرفی کردیم توابعی که در ادامه معرفی خواهد شد، im2unit8 و im2uint16 هستند. با پایا پروژه همراه باشید.
معرفی تابع im2unit8
کاری که این تابع انجام میدهد این است که تصویر را به نوع داده ۸-bit unsigned integers یا unit8 تبدیل میکند. unit8 فقط به ۸ بیت حافظه نیاز دارد و میتواند محدوده اعداد صفر تا ۲۵۵ را نمایش دهد که برای پردازش تصویر کاملا مناسب است. شکل استفاده از این تابع در زیر آمده است.
- J = im2uint8(I)
- J = im2uint8(I,’indexed’)
در تابع im2unit8، I، همان تصویر ورودی است و J نیز آرایه عددی از نوع unit8 خواهد بود. indexed و شکل شماره دو نیز در صورت نیاز به متعادل سازی، داده ها را موازنه میکند.
شیوه استفاده از تابع im2unit8
مرحله اول: ایجاد آرایه ای از کلاس unit16
I = reshape(uint16(linspace(0,65535,25)),[5 5])
پس از اجرای قطعه کد بالا، نتایج زیر نمایش داده میشوند.
نمایش ماتریس ایجاد شده
مرحله دوم: استفاده از تابع
I2 = im2uint8(I)
نمایش ماتریس پس از استفاده از تابع im2unit8
معرفی تابع im2uint16
این تابع، تصویر را به نوع داده ۱۶-bit unsigned integers یا همان unit16 تبدیل میکند. unit16 میتواند ۲۱۶ مقدار متمایز را در ذخیره کند. شکل استفاده از تابع در زیر آمده است.
- J = im2uint16(I)
- J = im2uint16(I,’indexed’)
برای تابع im2uint16 ، تمام توضیحات همانند تابع قبلی است و فقط خروجی J از نوع unit16 خواهد بود.
شیوه استفاده از تابع im2uint16
مرحله اول: ایجاد آرایه ای از کلاس double
I = reshape(linspace(0,1,20),[5 4])
پس از اجرای قطعه کد بالا، نتایج زیر نمایش داده میشوند.
نمایش ماتریس ایجاد شده
مرحله دوم: استفاده از تابع
I2 = im2uint16(I)
نمایش ماتریس پس از استفاده از تابع im2uint16
آموزش تبدیل تصویر به یکی از Data Types رایج با معرفی دو تابع بالا به پایان رسید برای مشاهده دیگر آموزش ها و همچنین آموزش متلب به صورت حرفه ای، با ما همراه باشید.