totop

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

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

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

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

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

عملیات بر روی تصاویر باینری در متلب

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

همانگونه که قبلا عنوان شد تصویر باینری به تصویری گته می شود که پیکسلهای آن تنها دارای یکی از دو مقدار ممکن ۰ و ۱ یا ۰ و ۲۵۵ می باشد. در نرم افزار متلب تصویر های باینری می توانند به صورت تصویر های اندیس شده یا شدت ذخیره شوند و در این حلت ماتریس نقش رنگ تنها دارای دو سطر خواهد بود.

نمایش تصویر باینری در متلب

برای نمایش دادن تصویر های باینری نیز از تابع imshow استفاده می شود . در صورتی که تصویر از نوع شدت باشد باید تابع به فرم imshow(m) در بیاید و اگر از نوع اندیس شده باشد به فرم imshow (I,map) در خواهد آمد . بنابر این در اینجا با تفاوتهای تابع نمایش آشنا شدید.

عملیات ساختاری Morphological Operations

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

مهمترین عملیات ساختاری عبارتند از:

عملیات افزایش

عملیات فرسایش

عملیات گشودن

عملیات بستن

عملیات افزایش و فرسایش Dilation & Erosion

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

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

ابعاد همسایگی و همچنین انتخاب همسایه ها بوسیله یک ماتریس ماسک (Mask) مشخص می شود . به عنوان مثال اگر ماتریس ماسک یک ماتریس ۳*۳ بوده باشد که همه ی عنصر های آن برابر با ۱ باشند. یعنی یک همسایگی ۳*۳ بکار برده شود و تمامی ۹ همسایه نقطه مورد بررسی برای عملیات افزایش یا فرسایش مد نظر قرار گیرند.

برای عملیات افزایش در متلب از تابع imdilate و برای عملیات فرسایش از تابع imerode استفاده نمایید. گرچه هر دو عملیات با استفاده از تاب کلی تر bwmorph نیز می توان انجام داد. فرمول استفاده نمودن از این توابع به صورت زیر می باشد:

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

عملیات گشودن و بستن Open & Close

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

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

در نرم افزار متلب برای اعمال عملیات گشودن و بستن و همچنین سایر عملیات های مورفولوژی از تابع bwmorph باید استفاده نماییم. اگر چه ما می توانیم این دو عملیات را از عملیات فرسایش و افزایش نیز بدست بیاوریم.

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

عملیات از پیش تعریف شده : تابع immorph

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

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

 

به مثال بعدی دقت نمایید: این مثال نتیجه عملیات را بر روی تصویر قبلی نمایش می دهد.

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

 

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

 


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

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

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