totop

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

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

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

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

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

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

الگوریتم canny  در متلب:

این متد لبه ها را با جستجوی max های محلی ( موضعی) گرادیان I , که گرادیان از روی مشتق فیلتر گاوس (Gaussian) محاسبه می شود.

این متد از دو آستانه (Threshold) استفاده می کند تا لبه های ضعیف و قوی را پیدا کند که فقط شامل لبه هایی ضعیف در خروجی می باشد که آنها متصل به لبه های قوی باشند. این روش بیشتر به کشف لبه های ضعیف به درستی می پردازند و کمتر فریب نویزها را می خورد و از بقیه روش ها بهتر است.

این متد یک بردار آستانه (Thresh) را مشخص می کند, که المنت اول آن آستانه پایین و المنت دوم آن آستانه بالا را مشخص می کند.

اگر یک عدد را به عنوان (thresh) انتخاب کنیم, این عدد به عنوان آستانه بالا (high threshold) و عدد (۰٫۴*thresh) به عنوان آستانه پایین در نظر گرفته می شود, و اگر هیچ عددی را برای thresh انتخاب نکنیم, تابع edge خود به طور اتوماتیک هر دو المنت را انتخاب می کند.

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

معرفی چند تابع در متلب:

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

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

 

باید توجه داشت که قبل از استفاده از این تابع حتما باید تصویر مورد نظر فراخوانی شده باشد. این تابع تصویر را روی صفحه نایش نشان می دهد و به شما امکان استفاده از ماوس برای انتخاب نقطه ی مورد نظر را می دهد. به این صورت که به کمک ماوس نقاطی از تصویر را انتخاب کرده و با زدن کلید Enter مقادیر رنگی مربوط به R,G,B پیکسل های آن نقطه در خروجی دریافت خواهد شد. در واقع توسط این تابع می توان ارزش رنگی هر پیکسل از تصویر را به دست آورد. که با استفاده از دو کلید Backspace و Delet می توانید به قسمت انتخابی قبلی بازگردید.

اگر تصویر اصلی به صورت سیاه – سفید باشد و این تابع بر روی آن اجرا شود, مقادیر R,G,B مربوط به رنگ سیاه , هر سه مقدار عددی صفر و برای رنگ سفید مقدار عددی ۲۵۵ را نمایش می دهد.

 

  • Pixval : این تابع اطلاعاتی درباره ی پیکسل های نقاط انتخابی که با ماوس آن نقاط را انتخاب کرده ایم, ارائه می دهد و حتی فاصله بین دو نقطه از تصویر را نیز می توان با انتخاب این دو نقطه در روی تصویر به دست آورد. این تابع همچنین اطلاعاتی راجع به رنگ نقاط ارائه می دهد.
  • Imfill : این تابع برای تصاویر سیاه و سفید کاربرد دارد که باعث می شود با انتخاب نقطه ای خاص در محدوده (segment) مشخص و کلیک روی آن نقطه , رنگ آن نقطه به رنگ محدودهی مشخصی که حاوی آن نقطه است در آید . به عنوان مثال با استفاده از این تابع با کلیک کردن بر روی نقاط سیاه درون یک دایره ی سفید , رنگ نقاط به رنگ دایره سفید در می آید.

چند مثال فیلتر های پردازش تصویر:

مثال اول:

clc
clear all
m=imread(‘nature.jpg’);%Calling the original color picture from the directory
I=rgb2gray(m);%Convert an RGB image to a grayscale image
J = imnoise(I,’gaussian’,0,0.025);%add gaussian noise to the image,where zero is the mean and 0.0.025 is the variance
K = wiener2(J,[7 7]);%wiener filtering where[5 5] is a portion of the image
figure(1)
imshow(I)%display original grayscale image(image a)
figure(2)
imshow(J)%display noisy image(image b)
figure(3)
imshow(K)%display reconstructed image from wiener2 filter output(image c)
pause%to show colored reconstructed image please ENTER
RGB=colormap(hot(225));
imwrite(K,RGB,’rgb.jpg’,’jpg’);%COD FOR invert gray reconstructed image to color
figure(4)
imshow(‘rgb.jpg’)%display color reconstructed image(image d)

مثال دوم:

clc
clear all
m=imread(‘nature.jpg’);%Calling the original color picture from the directory
I=rgb2gray(m);%Convert an RGB image to a grayscale image
J = imnoise(I,’gaussian’,0,0.025);%add gaussian noise to the image,where zero is the mean and 0.0.025 is the variance
K = wiener2(J,[7 7]);%wiener filtering where[5 5] is a portion of the image
figure(1)
imshow(I)%display original grayscale image(image a)
figure(2)
imshow(J)%display noisy image(image b)
figure(3)
imshow(K)%display reconstructed image from wiener2 filter output(image c)
pause%to show colored reconstructed image please ENTER
RGB=colormap(hot(225));
imwrite(K,RGB,’rgb.jpg’,’jpg’);%COD FOR invert gray reconstructed image to color
figure(4)
imshow(‘rgb.jpg’)%display color reconstructed image(image d)

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

 

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


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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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