آموزش پردازش تصویر متلب
spatial filtering روش های فیلترینگ مکانی در نرم افزار متلب 2 (9)
11 دی 1401
پارکینگ مدرن
جریمه رانندگی با کمک دوربین پلاک خوان (5)
9 بهمن 1401
Show all

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

آموزش متلب

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

توابع Log  و Laplacian 

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

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

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

2- فرمول مشتق 

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

4- فیلتر Log

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

 

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

 

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

 

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

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

  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 ‘ ) ;

 

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

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

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

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

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

 

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