Show all

spatial filtering روش های فیلترینگ مکانی در نرم افزار متلب 3 (10)

آموزش متلب

spatial filtering روش های فیلترینگ مکانی در نرم افزار متلب 3

توابع Log  و Laplacian 

بخش ۱۰آموزش برنامه نویسی درنرم افزار متلب 

در این بخش میخوانیم :

1- تابع Laplacian یک تقریب از مشتق مرتبه 2

۲- فرمول مشتق 

۳- مشتق گیری دو بعدی 

۴- فیلتر Log

درفیلترینگ مکانی توابع Log – Laplacian در نرم افزار متلب تابع Laplacian یک تقریب از مشتق مرتبه ۲ محسوب میشود .

 

فرمول مشتق مرتبه دو

 

مشتق مرتبه دو در متلب

 

ماتریس مشتق مرتبه دو

این ماتریس مشتق مرتبه دو تصویر را محسابه میکند که معادل مشتق گیری دو بعدی است .

  1. Clc;
    Clear ;
    Close all ;
    Img 0 = imread ( ‘ rice . png ‘ ) ;
    Alpha 1 = 0 ;
    W1 = fspecial ( ‘ laplacian ‘ , alpha 1 ) ;
    Img 1 = imfilter ( img 0 , w1 , ‘ circular ‘ ) ;
    Alpha 2 = 0 . 2 ;
    W2 = fspecial ( ‘ laplacian ‘ , alpha 2 ) ;
    Img 2 = imfilter ( img 0 , w2 , ‘ circular ‘ ) ;
    Alpha 3 = 0 . 4 ;
    W3 = fspecial ( ‘ laplacian ‘ , alpha 3 ) ;
    Img 3 = imfilter ( img 0 , w3 , ‘ circular ‘ ) ;
    Alpha 4 = 0  . 8 ;
    W4 = fspecial ( ‘ laplacian ‘ , alpha 4 ) ;
    Img 4 = imfilter ( img 0 , w4 , ‘ circular ‘ ) ;
    Alpha5= 1 ;
    W5 = fspecial ( ‘ laplacian ‘ , alpha 5 ) ;
    Img 5 = imfilter ( img 0 , w5 , ‘ circular ‘ ) ;
    Figure ;
    Subplot (2, 3 , 1 ) ;
    Imshow ( img 0 ) ;
    Title ( ‘ Original Image ‘ ) ;
    Subplot (2, 3 , 2 ) ;
    Imshow ( img 1 ) ;
    Title ( [ ‘ Laplacian with / alpha = num 2 str(alpha 1 ) ] ) ;
    Subplot (2, 3 ,3) ;
    Imshow ( img 2 ) ;
    Title ( [ ‘ Laplacian with \ alpha = num 2 str(alpha 2 ) ] ) ;
    Subplot (2, 3 , 4) ;
    Imshow ( img 3 ) ;
    Title ( [ ‘ Laplacian with\ alpha = num 2 str(alpha 3 ) ] ) ;
    Subplot (2, 3 , 5) ;
    Imshow ( img 4 ) ;
    Title ( [ ‘ Laplacian with \ alpha = num 2 str(alpha 4 ) ] ) ;
    Subplot (2, 3 ,6) ;
    Imshow ( img 5 ) ;
    Title ( [ ‘ Laplacian with\alpha = num 2 str(alpha5) ] ) ;
    
    
    
    نمونه مثال توابع Laplacian در متلب

تصاویر بالا به هم شبیه هستند اما درجهات متفاوت باعث شفاف سازی خطوط میشوند .

برای بالابردن و بهتر کردن تصویر

  1. Functhon Xn = Normalize ( X , beta )
  2. If nargin < 2
    Beta = 1 ;
    End
    X min = min ( x ( : ) ) ;
    X max = max ( x ( : ) ) ;
    XN = ( ( X – X min ) / ( X max – X min ) ) . ^ beta ;
    
    
    

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

 

نمونه مثال توابع Laplacian در متلب

نمونه ای از فیلتر بالا گذر با عملکرد محدود که مشتق درجه دو سیستم است ، برای نشان دادن قسمتهای تغییر رنگ کافی است مشتق عادی بگیریم .

برای بهبود کیفیت تصویر لازم است ضریبی از مشتق درجه دو سیستم را از تصویر اصلی کم یا زیاد کنیم .

 عدد باید با w هم علامت باشد .

  1. Clc;
    Clear ;
    Close all ;
    Img 0 = imread ( ‘ rice . png ‘ ) ;
    Img 0 = im2double ( img 0 ) ;
    Alpha  = 0 ;
    W = fspecial ( ‘ laplacian ‘ , alpha  ) ;
    Img 1 = imfilter ( img 0 , w , ‘ circular ‘ ) ;
    C = -1 ;
    Img 2 = img 0 + c * img 1 ;
    Figure ;
    Subplot ( 1 , 3 , 1 ) ;
    Imshow ( img 0 ) ;
    Title ( ‘ Original Image ‘ ) ;
    Subplot ( 1 , 3 , 2) ;
    Imshow ( img 1 ) ;
    Title ([ ‘ Laplacian with \ alpha = ‘ num2str ( alpha) ] ) ;
    Subplot ( 1 , 3 , 3 ) ;
    Imshow ( img 2 ) ;
    Title ( ‘ Image Enhancement with Laplacian ‘ ) ;

 

جمع ارجینال با فیلتر Laplacian در متلب

حاصل جمع تصویر اُرجینال با فیلتر Laplacian

ترکیب خطی Laplacian  یک شبکه ی متوالی با تصویر با علامت منفی دارد .

قسمت هایی که مشتق علامتش تغییر کرده را نشان میدهد .

تابع Log از اِعمال تابع Laplacian بر فیلتر Gaussian حاصل میشود .

تابع Log   :

Hsize , sigma  برای نشان دادن سایز ماتریس استفاده میشود .

  1. Clc;
    Clear ;
    Close all ;
    Img 1 = imread ( ‘ rice . png ‘ ) ;
    Sigma = 1 ;
    W = fspecial ( ‘ Log ‘ , 5 , sigma );
    >> w =  fspecial ( ‘ Log ‘ , 100 ) ;
    >> w = w / max ( w ( : ) ) ;
    >> imshow ( w )
    
    
    

توابع Log - Laplacian در متلب

 

  1. >> w =  fspecial ( ‘ Log ‘ , 100 , 10 ) ;
    >> w = w / max ( w ( : ) ) ;
    >> imshow ( w )
    
    
    
    توابع Log - Laplacian در متلب

 تاثیر زیادی در محاسبات ندارد چون مرکز منفی است .

  1. >> w = Normalize ( w ) ;
    >> imshow ( w )

توابع Log - Laplacian در متلب

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

log یکی از روش های بزرگ کردن تغییرات در حواشی تصاویر مقصد است .

motion شبیه سازی حرکت لنز دوربین را انجام میدهد . (Len = طول حرکت ، theta = زاویه حرکت )

  1. Clc;
    Clear ;
    Close all ;
    Img 0 = imread ( ‘ rice . png ‘ ) ;
    Img 0 = im2double ( img 0 ) ;
    W = fspecial ( ‘ motion ‘ , 40 , 45 ) ;
    Img = imfilter ( img 0 , w ,’circular ‘ ) ;
    Figure ;
    Subplot ( 1 , 2,1) ;
    Imshow ( img 0 ) ;
    Title ( ‘ Original Image ‘) ;
    Subplot ( 1 , 2,2) ;
    Imshow ( img 1 ) ;
    Title ( ‘ After Motion Filter ‘ ) ;

 

 یک نوع فیلتر پایین گذر در متلب

 فیلتر پایین گذر جهت دار که کمی منحرف شده .

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

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

ادامه آموزش متلب در بخش ۱۱

 

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

آموزش پردازش تصویر متلب
spatial filtering روش های فیلترینگ مکانی در نرم افزار متلب 2 (9)
۱۱ دی ۱۴۰۱
پارکینگ مدرن
جریمه رانندگی با کمک دوربین پلاک خوان (۵)
۹ بهمن ۱۴۰۱