آموزش نرم افزار متلب – پردازش تصاویر بخش دومسهشنبه 19, مه 2020
آشنایی با محیط Matlab
در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را یاد خواهیم داد. با ما همراه باشید.
خواندن تصاویر با استفاده از تابع imread
برای خوانده شدن یک فایل و یا تصویر گرافیکی در نرم افزار متلب می توانیم از تابع imread استفاده نماییم. با توجه به نوع فرمت تصویر استفاده از این تابع حالت های مختلفی دارد که در زیر به آن اشاره خواهیم کرد.
- برای تصویر های شدت , RGB و باینری از کد نویسی زیر استفاده می نماییم
- برای تصویر های اندیس شده از کد نویسی زیر استفاده می نماییم.
که در رابطه های فوق منظور از m ماتریس اندیس می باشد و map ماتریس نقشه رنگ می باشد.
توجه: تابع imread را با تعداد آرگومانهای بیشتری هم می توان فراخوانی نمود . جهت اطلاع بیشتر می توانید به راهنمای متلب مراجعه نمایید و مثال های بیشتری را مشاهده نمایید.
تابع imshow
این تابع جهت نمایش دادن تصاویر استفاده می شود . با استفاده از این تابع می توان یک تصویر خوانده شده و یا مستقیما یک فایل تصویری را به نمایش بگذارد. کد نویسی فرمت های مختلف به صورت زیر می باشد.
به مثال زیر توجه نمایید:
تابع imtool
یک تابع دیگر که در نرم افزار متلب برای نمایش دادن تصاویر به کار برده می شود تابع imtool است روش استفاده کردن از این تابع نیز همانند imshow است با این تفاوت که قابلیتهای بیشتری را در اختیار شما قرار می دهد.
به مثال زیر توجه کنید:
تابع imwrite
جهت نوشتن فایل های گرافیکی از تابع imwrite استفاده می نماییم این تابع با توجه به فرمت تصویر می تواند به یکی از روشهای زیر نوشته شود:
تابع imfinfo
این تابع برای مشخص کردن یک فایل گرافیکی استفاده می شود . با استفاده از این تابع می توانیم اطلاعاتی مانند : ابعاد تصویر , دقت ابعادی و دقت عمقی و نحوه فشرده سازی و… را در متلب ارائه نماییم . این تابع به صورت زیر نمایش داده می شود.
تبدیل تصاویر:
با استفاده نمودن از توابع زیر می توانیم نوع یک تصویر را تغییر دهیم:
در کد های فوق منظور از level سطح آستانه می باشد که باید عددی بین ۰ تا ۱ باشد.
جهت آشنایی و درک بهتر این تابع می توانید به بخش help نرم افزار متلب مراجعه نمایید.
عملیات ریاضی بر روی تصاویر:
زمانی که فرمت یک تصویر به صورت unit8 باشد امکان به کار بردن عملگرهای ریاضی و بسیاری از تابع های متلب بر روی آنها وجود ندارد . بنابراین قبل از اعمال عملیات ریاضی باید نوع داده ها را به صورت double تبدیل نماییم و سپس عملیات ریاضی را اعمال نماییم و به همین روش این امکان وجود دارد که می توانیم در صورت نیاز دوباره به فرمت unit8 باز گردیم.
اعمال عملیات ریاضی بر روی تصاویر:
منظور از عملیات ریاضی اعمال نمودن هر گونه تغییر در ابعاد و شکل تصاویر می باشد . در نرم افزار متلب سه عملیات ریاضی بر روی تصاویر امکان پذیر می باشد.
- تغییر دادن ابعاد تصاویر با استفاده از تابع imresize
- چرخش تصاویر با استفاده از تابع imrotate
- برش تصاویر با استفاده از تابع imcrop
که در ادامه هر یک را توضیح می دهیم.
تغییر ابعاد تصاویر با استفاده از تابع imresize
این تابع به یکی از دو حالت زیر قابل استفاده کردن در کد نویسی می باشد:
در حالت نخست متغییر a نسبت تغییر ابعاد تصویر می باشد. مثلا اگر برابر با عدد ۲ باشد یعنی ابعاد تصویر دو برابر خواهد شد . اگر این عدد کمتر از ۱ باشد تصویر کوچکتر خواهد شد و اگر این عدد بزرگتر از یک باشد تصویر بزرگتر می شود. در حالت دوم تعداد سطر و ستون جدید تصویر به تابع ارائه خواهد شد که باید اعداد صحیح مثبت باشند.
چرخش تصویر – تابع imrotate
نحوه استفاده نمودن از این تصویر به صورت زیر می باشد :
آرگومان دوم بیان کننده میزان چرخش تصویر بر حسب درجه می باشد . آرگومان سوم اختیاری می باشد و می تواند یکی از مقدارهای nearest , bilinear و یا bicubic باشد. هنگامی که ما در کد نویسی از این آرگومان استفاده نکنیم مقدار پیش فرض nearest خواهد بود. آرگومان چهارم نیز اختیاری می باشد و تنها می تواند مقدار ‘crop’ را داشته باشد . در صورتیکه استفاده شود ابعاد تصویر پس از چرخش تغییر نمی کند اما بخشی از تصویر برش داده و حذف می شود.
به مثال زیر برای تابع imrotate توجه نمایید:
تابع imcrop یا برش تصویر
این تابع به یکی از روشهای زیر قابل استفاده و کد نویسی می باشد:
که در این روابط rect یک بردار سطری می باشد که مختصات یک ناحیه مستطیلی شکل از تصویر را که قرار است برش داده شود مشخص می نماید . در صورتی که این آرگومان در ورودی مشخص نشود , تصویری که نمایش داده می شود و متلب منتظر می ماند تا کاربر یک ناحیه مستطیلی را با موس خود انتخاب نماید
به مثال زیر برای تابع برش تصاویر دقت نمایید:
در اینجا آشنایی با محیط متلب بخش بیست و پنجم به پایان رسیده است و در آموزش های بعدی به مباحث دیگر آموزش متلب می پردازیم. همچنین از شما مخاطبین عزیز سایت همیارپروژه دعوت می کنم که برای انجام پروژه متلب خود آموزش های ما را دنبال نمایید.
نویسنده: زهرا رستمی
دیدگاهتان را بنویسید