totop

آموزش متلب – پردازش تصویر بخش سومسه‌شنبه 19, مه 2020

آموزش متلب در همیارپروژه

آشنایی با محیط Matlab

در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را یاد خواهیم داد. با ما همراه باشید.

انجام پروژه متلب

 

فیلتر های خطی و طراحی فیلتر در متلب:

برای اعمال نمودن یک فیلتر بر روی یک تصویر می توانیم از تابع filter2 استفاده نماییم.

در رابطه فوق h ماتریس فیلتر و m ماتریس تصویر اولیه می باشد . h می تواند هر ماتریسی با ابعاد دلخواه باشد اما معمولا یک ماتریس ۳*۳ یا ۵*۵ خواهد بود.

فیلترهای آماده در متلب

با استفاده از تابع fspecial می توانیم فیلتر های معمول در پردازش تصویر را برای استفاده با تابع filter2 ایجاد نماییم . روش استفاده از این  توابع تصاویر به صورت زیر می باشد.

بسته به نوع  آرگومان اول, ممکن است این تابع با یک یا بیش دو آرگومان نیز به کار برده شود. نام فیلتر می تواند یکی از پارامترهای زیر باشد:

به مثال زیر توجه نمایید:

آنالیز و بهسازی تصاویر در متلب:

آنالیز و بهسازی نمودن تصاویر شامل سه عملیات زیر می باشد:

  1. بدست آوردن ارزش نقاط تصویر و اعمال عملیات آماری بر روی آنها
  2. آنالیز تصویر به منظور استخراج اطلاعات در مورد ساختار کلی آن
  3. بهسازی تصویر به منظور واضح تر شدن جزئیات تصویر و حذف نویز به منظور آماده سازی برای عملیات پردازش بعدی

در ادامه به بررسی هر یک خواهیم پرداخت

بدست آوردن ارزش نقاط تصاویر و اعمال عملیات آماری بر روی آنها

توابع pixval و impixel

با استفاده از تابع impixel می توان مشخصات رنگی پیکسلهایی از تصویر را بدست آورد . از این توابع می توان به صورتهای زیر استفاده نمود:

در این حالت این تابع پنجره را نمایان خواهد ساخت و امکان انتخاب نمودن نقاط مورد نظر را به کاربر می دهد. پس از زدن یک کلید یا دکمه سمت راست موس , مشخصات این نقاط درماتریس p ذخیره خواهند شد. البته این تابع به صورتهای دیگری نیز می توان به کار برد که برای کسب اطلاعات بیشتر می توانید به راهنمای نرم افزار متلب نیز مراجعه نمایید.

تابع pixval به پایین پنجره تصویر یک کادری را اضافه می نماید که با حرکت موس بر روی تصویر مشخصات رنگی نقاط تصویر در این کادر به نمایش گذاشته می شوند . این تابع باید پس نمایش تصویر با تابع imshow صدا زده شود.

تابع improfile

این تابع نمودار تغییرات رنگ تصویر را در یک مسیر دلخواه که با ماوس انتخاب می شود را رسم می نماید.

به مثال زیر دقت نمایید:

تابع  imcontour

با استفاده از این تابع می توانیم نمودار تراز داده های تصاویر را رسم نماییم

به مثال زیر دقت نمایید:

تابع imhist با استفاده از این تابع می توانیم رسم نمودار های فراوانی نقاط تصویر را نمایش دهیم.

به مثال زیر دقت نمایید:

توابع mean2  و std2

تابع های mean و std در نرم افزار متلب به ترتیب برای به دست آوردن میانگین و انحراف معیار به کار برده خواهد شد . اما این توابع به صورت برداری اعمال می شوند . به این معنا که میانگین یا انحراف معیار عناصر یک بردار را محاسبه می نمایند . اگر این توابع را بر روی یک ماتریس اعمال نماییم مانند اکثر توابع نرم افزار متلب به صورت ستونی بر روی عنصر های آن ماتریس عمل خواهند نمود. یعنی میانگین یا انحراف معیار هر ستون ماتریس را به صورت حداگانه بدست خواهد آمرد . برای آنکه بتوانیم میانگین یا انحراف معیار تمامی نقاط یک ماتریس را محاسبه نماییم باید از تابع های mean2 و std2 استفاده نماییم.

تابع imadjust

با استفاده از تابع imadjust می توانیم شدت را تنظیم نماییم.

 

تابع histeq

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

به مثال زیر دقت نمایید:

حذف نویز

معمولا تصاویر دیجیتال کم و بیش دارای نویز می باشند . حذف نمودن نویز قبل از هر گونه عملیات  پردازشی باید انجام گیرد. فیلتر های متعددی برای حذف نویز طراحی شده اند. در نرم افزار متلب نیز چندین فیلتر برای حذف نویز وجود دارد که از این میان به ساده ترین ها اشاره خواهیم نمود:

  • فیلتر میانگین
  • فیلتر میانه

برای ایجاد نمودن فیلتر میانگین از تابع fspecial که در ابتدای این مبحث توضیح داده شد و تابع filter2 می توان استفاده نمود. برای اعمال نمودن فیلتر میانه از تابع medfilt2 استفاده می نماییم. به عبارتی تمامی فیلتر های حذف نویز از وضوح (sharpness) تصویر می کاهند . در میان دو فیلتر میانگین و میانه , فیلتر میانه معمولا نتیجه بهتری ایجاد می نماید و وضوح تصویر را نیز کمتر تحت تاثیر قرار خواهد داد.

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

 

نویسنده: زهرا رستمی

 


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

نشانی ایمیل شما منتشر نخواهد شد.

حق نشر برای همیارپروژه ❤️ مرجع انجام پروژه دورکاری و آنلاین ✔️ سایت انجام پروژه و استخدام فریلنسر در همه حوزه ها ، مهارت ها ، نرم افزارها و پروژه های برنامه نویسی محفوظ است.