تبدیل تصویر به نوع داده مختلف با استفاده از ابزار متلب (بخش دوم)
موسسه پایا پروژه به عنوان متصدی انجام پروژه های پردازش تصویر با متلب وظیفه ی خود می داند که در راستای آموزش نرم افزار متلب گام های موثری را بردارد. با توجه به اینکه یک دوره آموزشی متلب مستلزم تمرین و تلاش بسیار است. اما این موسسه تلاش می کند سهم کوچکی در جهت یادگیری شما داشته باشد.
یکی دیگر از ابزار متلب برای پردازش تصویر، تبدیل تصویر به نوع داده های مختلف است. این کار به دلایل مختلف مانند سهولت در ذخیره سازی و یا کاهش حجم یک تصویر و یا اهداف دیگر مورد استفاده قرار میگیرد. در ادامه توابع im2int16 و im2single توضیح داده خواهند شد. با پایا پروژه همراه باشید.
تبدیل تصویر به نوع داده مختلف با استفاده از ابزار متلب (بخش دوم)
در بخش اول پردازش تصویر با متلب و تبدیل تصویر به یکی از Data Types رایج، تابع im2double را معرفی کردیم. توابعی که در ادامه معرفی خواهد شد، im2int16 و im2single هستند. با پایا پروژه همراه باشید.
در ضمن تبدیل تصویر و یا نوع داده های مختلف به یکدیگر به این دلیل استفاده میشود که ممکن است برای انجام پردازش های خاص و یا ذخیره سازی، به نوع خاصی از داده ها نیاز داشته باشیم.
معرفی تابع im2int16
کاری که این تابع انجام میدهد این است که تصویر را به نوع داده ۱۶-bit signed integer یا integer 16 بیتی علامت دار تبدیل میکند. شیوه استفاده از تابع، در زیر آمده است.
J = im2int16(I)
تابع im2int16، ورودی تصویر I را میگیرد و آن را به آرایه عددی از نوع ۱۶-bit signed integer تبدیل میکند.
شیوه استفاده از تابع im2int16
مرحله اول: ایجاد آرایه ای از کلاس double
I = reshape(linspace(0,1,20),[5 4])
پس از اجرای قطعه کد بالا، نتایج زیر نمایش داده میشوند.
نمایش ماتریس ایجاد شده
مرحله دوم: استفاده از تابع
I2 = im2int16(I)
نمایش ماتریس پس از استفاده از تابع im2int16
معرفی تابع im2single
این تابع، تصویر را به نوع داده single precision تبدیل میکند. single precision تنها ۳۲ بیت حافظه اشغال میکند و میتواند محدوده وسیعی از مقادیر مختلف را نشان دهد. شکل استفاده از تابع در زیر آمده است.
- J = im2single(I)
- J = im2single(I,’indexed’)
برای تابع im2single، I تصویر ورودی است و J نیز آرایه عددی از نوع single است. با استفاده از indexed، در صورت لزوم داده ها موازنه میشوند.
شیوه استفاده از تابع im2single
مرحله اول: ایجاد آرایه ای از کلاس unit8
I = reshape(uint8(linspace(1,255,25)),[5 5])
پس از اجرای قطعه کد بالا، نتایج زیر نمایش داده میشوند.
نمایش ماتریس ایجاد شده
مرحله دوم: استفاده از تابع
I2 = im2single(I)
نمایش ماتریس پس از استفاده از تابع im2single
برای مشاهده بخش های بعدی آموزش تبدیل تصویر به یکی از Data Types رایج و همچنین آموزش متلب به صورت حرفه ای، با ما همراه باشید.