آشنایی با متلب ( پردازش تصویر- بخش سوم)پنجشنبه 04, ژوئن 2020
آشنایی با محیط Matlab
در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را یاد خواهیم داد. با ما همراه باشید.
پردازش تصویر:
تابع imsubtract
یک تصویر را با یک تصویر دیگر تفریق می کند یا یک عدد را از یک تصویر کم می نماید.
توضیح:
آرایه x را از آرایه y کم می کند و نتیجه را در آرایه z ذخیره می نماید. نکته این است که تصاویر x و y باید هم اندازه و هم کلاس باشند و z از محدوده مقدار کلاس تصویر خارج نمی شود.
اگر آرایه x از کلاس unit16 ,unit8 یا single باشد ippl فعال است.
مثال:
تفریق یک عدد از یک تصویر:
X : تصویر یا آرایه , y : یک عدد اسکالر , Z : تصویر یا آرایه
مثال:
در این حالت یک مقدار عددی از تمام پیکسل های تصویر مورد نظر کم می شود که در این صورت به دلیل کوچک تر شدن ارزش پیکسل ها, شدت نور تصویر نهایی کاهش می یابد.
تفریق دو تصویر از هم:
X : تصویر یا آرایه , y : تصویر یا آرایه , Z : تصویر یا آرایه
مثال:
در عملیات تفریق تفاضل بین هر یک از زوج پیکسل های متناظر دو تصویر f(x,y) و h(x,y) محاسبه می شود.
قسمت هایی که برابر نیستند کاملا روشن ظاهر می شوند , زیرا تفریق نمی شوند. از کاربردهای این معادله , مساله پرتو پردازی حالت نقاب ( در مساله ی ارتقا, مبحثی از تصویر برداری پزشکی ) می باشد.
تابع imdivide
این تابع دو تصویر را به هم تقسیم می کند یا یک تصویر را در یک عدد تقسیم می کند که از این حالت معمولا جهت کاهش شدت روشنایی یک تصویر استفاده می شود.
توضیح: این دستور هر عنصر از آرایه x را به عنصر متناظرش در آرایه y تقسیم می کنیم و نتیجه را در آرایه z ذخیره می کند.
تصاویر x و y باید هم اندازه باشند . اگر حاصل تقسیم یک عدد اعشاری شود, عدد اعشاری گرد می شود و بعد در z ریخته می شود , حاصل تقسیم نیز از محدوده مقدار نوع داده خارج نمی شود.
Ippl تنها زمانی که x و y ارایه هایی از کلاس unit8,unit16 یا single هستند و سایز و کلاس x و y یکسان باشد فعال است.
مثال:
برای تقسیم تصویر در یک عدد
X : تصویر , y : یک عدد اسکالر z : تصویر
مثال:
تقسیم یک تصویر بر تصویر دیگر:
X: تصویر , y : تصویر , z : تصویر
مثال:
تابع immultiply
دو تصویر را در هم ضرب می کند یا یک عدد را در یک تصویر ضرب می کند. معمولا از این کار جهت افزایش شدت روشنایی یک صویر استفاده می شود و علت افزایش شدت روشنایی آن است که در ضرب نظیر به نظیر , ارزش تمام پیکسل ها ی هم شماره از هر دو تصویر در یکدیگر ضرب شده و در نتیجه پیکسل های تصویر نهایی ارزش بالاتری خواهند داشت.
توضیح:
این دستور, هر عنصر از آرایه x را به عنصر متناظر آن در آرایه y ضرب می کند و نتیجه را در آرایه z ذخیره می نماید.
Z=x.xy
تصاویر y و x باید سایز و کلاس یکسانی داشته باشند . کلاس z شبیه کلاس x است به جز اینکه :
اگر x از نوع logical و y از نوع numeric باشد, z شبیه کلاس y است.
اگر x از نوع numeric و y از نوع logical باشد, z شبیه کلاس x است.
Z از محدوده مقدار کلاس خارج نمی شود.
اگر x و y و z کلاس یکسان و از نوع unit8,logical یا single باشد ippl فعال است.
مثال:
ضرب یک عدد در تصویر
X : آرایه یا تصویر , y : یک عدد اسکالر , z : تصویر یا آرایه
مثال:
ضرب دو تصویر در هم:
X : تصویر , y : تصویر , z : تصویر
مثال:
تابع imabsdiff
قدر مطلق تفاضل دو تصویر
Z=imabsdiff(x,y)
توضیح :
خروجی این تابع به صورت زیر می باشد:
Z=abs(x-y)
اگر x , y , z کلاس یکسان و از یکی از کلاسهای logical, unit8,single باشد ippl فعال است.
مثال:
قدر مطلق تفاضل دو تصویر
X : تصویر , y : تصویر , z : تصویر
مثال:
تابع imcomplement
متمم تصویر
IM2= imcomplement(IM)
توضیح:
ورودی تابع از نوع :binary , grayscale یا RGB
خروجی تابع: تصویر خروجی سایز و کلاسی شبیه تصویر ورودی دارد.
در متمم گیری از تصاویر باینری صفر به یک و یک به صفر تبدیل می شود.
به وسیله این تابع تصویر تیره به روشن و تصویر روشن به تیره تبدیل می شود.
اگر تصویر ورودی باینری باشد:
اگر تصویر ورودی grayscale باشد:
اگر تصویر ورودی RGB باشد :
مثال:
مثالی از کاربرد این تابع:
شکل سمت چپ یک تصویر ماموگرام است و شکل سمت راست نیز مکمل آن را نشان می دهد.
در اینجا آشنایی با محیط متلب بخش چهل و یکم به پایان رسیده است و در آموزش های بعدی به مباحث دیگر آموزش متلب می پردازیم. همچنین از شما مخاطبین عزیز سایت همیارپروژه دعوت می کنم که برای انجام پروژه متلب خود آموزش های ما را دنبال نمایید.
نویسنده: زهرا رستمی
دیدگاهتان را بنویسید