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

آشنایی با محیط Matlab
در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را یاد خواهیم داد. با ما همراه باشید.
پردازش تصویر:
نمایش تصویر دیجیتالی در متلب
برای نمایش یک تصویر m*n از یک آرایه دو بعدی ( ماتریس) که m سطر و n ستون دارد استفاده می کنیم . مقدار هر عنصر از آرایه نشان دهنده شدت روشنایی تصویر در آن نقطه است. در تمام توابعی که پیاده سازی خواهیم کرد , هر عنصر آرایه یک مقدار ۸ بیتی است که می تواند مقداری بین ۰ و ۲۵۵ داشته باشد. مقدار صفر نشان دهنده رنگ تیره ( سیاه) و مقدار ۲۵۵ نشان دهنده رنگ روشن ( سفید) اس.
در بسیاری از کتب پردازش تصویر , مبدا تصویر به صورت زیر می باشد:
(x,y)=(0,0)
مولفه x شماره سطر و مولفه y شماره ستون یک پیکسل را نشان می دهد.
به دلیل اینکه در matlab اندیس مولفه ارایه ها از صفر شروع نمی شود, در این محیط مبدا به صورت زیر تعریف می شود:
(r,c)=(1,1)
این تصویر به صورت زیر به عنوان یک ماتریس در محیط متلب تعریف می شود.
انواع تصویر:
تصاویر در متلب شامل یک ماتریس داده می باشند و معمولا به ماتریس جعبه رنگ وابسته هستند. سه نوع ماتریس داده برای تصاویر وجود دارد که هر کدام به صورت های مختلف تفسیر می شوند.
- تصاویر اندیس گذاری شده (indexed)
- تصاویر با شدت رنگ(intensity)
- تصاویر RGB
که در جلسات گذشته در این رابطه توضیح داده شده است.
انجام عملیات چهارگانه محاسباتی بر روی تصاویر:
- جمع دو تصویر (Adding images)
- تفریق دو تصویر (subtracting images)
- ضرب دو تصویر (Multiplying images)
- تقسیم دو تصویر (Dviding images)
توابع محاسباتی
- Ippl باعث سرعت اجرا
- Imadd جمع تصاویر
- Imsubtract تفریق تصاویر
- Imdivide تقسیم تصاویر
- Immultiply ضرب تصاویر
- Imabsdiff قدر مطلق تفاضل تصاویر
- Imcomplement متمم تصاویر
- imlincomb ترکیب خطی تصاویر
IPPL → Intel Performance primitives library
بررسی فعال یا غیر فعال بودن ippl
TF = ippl
[TF B] = ippl
توضیح:
- Ippl مخصوص شرکت intel است و فقط در دسترس پروسسورهای intel است.
- Ippl برای یک مجموعه از توابع اساسی که در سیگنال و پردازش تصویر به کار می رود , تولید شده است.
- Ippl از توابع جعبه ابزار پردازش تصویر است و باعث می شود تا توابع محاسباتی با سرعت بیشتری اجرا شود.
- اگر ippl فعال باشد TF=1 (true) است و گرنه TF=0 (false) است.
TF : اطلاعاتی در مورد پروسسور B
B : آرایه سلولی که هر سطر آن یک رشته است.
- عملکرد ippl به این صورت است که وقتی فعال است و از توابع محاسباتی مثل (imadd) استفاده می کنیم به جای اینکه تک تک عناصر آرایه را با هم جمع کند از پردازش موازی استفاده کرده و در هر زمان گروهی از عناصر دو آرایه را با هم جمع می کند و بدین صورت باعث افزایش سرعت در اجرای این توابع می شود.
- وقتی ippl در دسترس است , توابع محاسباتی مانند (immultiply,imsubtract,imdivide,imcomplement,imadd,imlincomp) و تابه imfilter از مزیت ippl استفاده می کنند.
غیر فعال کردن ippl
برای غیر فعال کردن ippl در قسمت system enviroment variables یک LPT_IPPL_OFF را تعریف کنید و برای آن ارزش no قرار دهید.
برای این کار روی پنجره my computer راست کلیک کرده و روی پنجره prorerties کلیک نمایید و از پنجره باز شده , پنل advanced را انتخاب کرده و در بخش system variable روی قسمت new وارد کنید.
تابع imadd
این تابع دو تصویر را با هم جمع می کند یا یک تصویر را با یک عدد ثابت جمع می کند.
توضیح:
این دستور آرایه x را با آرایه y جمع می کند و در نتیجه حاصل را در آرایه z ذخیره می کند.
Class تصویر z باید شبیه کلاس تصویر x باشد مگر اینکه x از نوع logical باشد. که در اینصورت z از نوع Double است.
تصویر های x و y باید هم اندازه و هم نوع باشند. حاصل جمع x و y از محدوده مقدار نوع آرایه تصویر خارج نمی شود. مثلا اگر تصویر x و y از نوع unite8 باشند عناصر در خروجی از محدوده ۰ تا ۲۵۵ خارج نمی شوند. همچنین عناصر در خروجی به صورت اعشاری به دست آید , عدد بدست آمده گرد می شود.
اگر x و y هر دو آرایه ای هم کلاس و یکی از کلاسها logical, unit8 یا single باشد. ippl فعال شده است.اگر y یک عدد اسکالر از نوع double باشد . x و z هم کلاس و یکی از کلاس های unit16,unite8 یا single باشند, ippl فعال شده است.
آرگومان سوم ورودی در تابع Imadd
W می تواند یکی از کلاس های زیر باشد.
که آرگومان این تابع کلاس تصویر خروجی را مشخص می کند.
به مثال زیر توجه نمایید:
جمع آرایه x با یک عدد اسکالر y :
X : آرایه , y : یک عدد اسکالر و z : آرایه
مثال: جمع کردن یک تصویر با یک عدد ثابت
جمع نمودن تصویر x تصویر y به صورت زیر می باشد.
که در آن X : آرایه , y : آرایه و z : آرایه می باشد.
مثال : جمع نمودن دو تصویر
در اینجا آشنایی با محیط متلب بخش چهلم به پایان رسیده است و در آموزش های بعدی به مباحث دیگر آموزش متلب می پردازیم. همچنین از شما مخاطبین عزیز سایت همیارپروژه دعوت می کنم که برای انجام پروژه متلب خود آموزش های ما را دنبال نمایید.
نویسنده: زهرا رستمی
دیدگاهتان را بنویسید