totop

آشنایی با متلب ( پردازش تصویر- بخش چهارم)جمعه 05, ژوئن 2020

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

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

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

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

پردازش تصویر در متلب:

تابع imlincomb

ترکیب خطی از تصویر

توضیح:

Z=imlincomb(k1,A1,K2,A2,…,Kn,An) مقدار زیر را محاسبه می نماید.

Z کلاس و سایزی شبیه A1 دارد.

Z=imlincomb(k1,A1,K2,A2,…,Kn,An,K) نیز مقادیر زیر را محاسبه می نماید:

اگر یکی از مورد های زیربرقرار باشد ippl فعال است:

وقتی K , َA1 , A2 کلاس یکسانی دارند و یکی از کلاس های زیر هستند:

Single , int16 , unit8

مثال:

تصویر I را در عدد ۲ ضرب می کند و نتیجه را در تصویر j ذخیره می کند.

مثال:

حاصل تفاضل دو تصویر را با عدد ۱۲۸ جمع کردن.

مثال: جمع دو تصویر و مشخص کردن کلاس خروجی

مثال:

در این مثال ابتدا تابع imadd انجام می شود و اگر حاصل جمع دو آرایه بزرگتر از ۲۵۵ شود نتیجه ۲۵۵ می شود و بعد تابع imdivide انجام می شود.

در حالی که در مثال زیر , تابع imlincomb جمع و تقسیم را در دقت double انجام می دهد و در آخر اگر نتیجه بزرگتر از ۲۵۵ شده باشد آن را ۲۵۵ می کند.

نمودار هیستوگرام در متلب:

در آن تعداد پیکسل ها ( فراوانی ) هر سطح روشنایی در تصویر ورودی مشخص می شود.

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

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

دو تابع برای افزایش کنتراست تصویرهای سایه و سفید و یا grayscale وجود دارد:

  • Imadjust
  • Histeq ( تصویر خروجی به یک هیستوگرام پیش فرض تعیین شده match می شود)
  • که دومی هیستوگرام تساوی را نمایش می دهد.

نکته:

برای جلوگیری از noise تصویر باید در بالا بردن کنتراست محدودیت قایل شد.

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

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

انتخاب ناحیه خاصی از تصویر

تابع Bwselect

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

و هم می توان با دادن دو بردار r,c که یکی نقاط x و دیگری نقاط y را دارد , انتخاب را انجام داد.

که n می تواند ۴ یا ۸ باشد . ( مولفه برای پیوستگی نقاط است)

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

Rgb2ind : تابعی است که یک تصویر rgb را به عنوان پارامترورودی گرفته و به یک تصویر indexed ( اندیس گذاری شده ) تبدیل می کند که در واقع indexed شامل یک آرایه دو بعدی ( شامل x و y های تصویر) و یک map که دارای سه ستون است:

ستون اول: شدت رنگ قرمز

ستون دوم: شدت رنگ سبز

ستون سوم: شدت رنگ آبی

X : آرایه دو بعدی تصویر,  map : آرایه سه بعدی    , n :N ردیف  map که می تواند تا ۶۵۵۳۶ باشد.

چند نمونه از map :

Ind2rgb :

عکس تابع قبلی است که این بار تصویر indexed ( مرتب شده با آرایه) را به یک تصویر rgb تبدیل می کند. که rgb یک آرایه m*n*3 از کلاس double است.

و در تصویر (x,map) , x می تواند از کلاس unite8 , unite16 و یا double باشد.

Rgb2hsv : تابعی است که یک تصویر rgb را به یک تصویر با شدت رنگ (hsv) تبدیل می کند که همانطور که قبلا ذکر شد برای هر پیکسل سه مشخصه را ذکر می کند : نام رنگ , شدت رنگ, روشنایی یا تیرگی رنگ. با توجه به اینکه تصویر خروجی دوربین ها معمولا RGB است, اولین کار بعد از دریافت تصویر از دوربین این است که سیستم RGB را به HSV تبدیل کنیم . این کار در نرم افزار متلب بسیار ساده می باشد و کافی است از تابع

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

 

 

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

 

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


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

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

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