Matlab之imfilter()詳解
阿新 • • 發佈:2018-12-08
Imfilter(Img,filter)
Img:待處理矩陣
filter:濾波器
其實imfilter(Img,filter)的這個方法的實現原理是很簡單的,下面通過一個例項來說明:
Img:(5*5的矩陣)
Img =
90 29 33 12 9
19 39 0 37 84
29 2 21 14 8
39 84 88 21 24
392 8 5 32 58
imfilter:(3*3的濾波器)
imfilter =
0.0400 0.1000 0.0600
0.1000 0.2500 0.1500
0.0600 0.1500 0.0900
若要處理Img(1,1),實際就要用到Img(1,2),Img(2,1),Img(2,2)來得到,下面我將用Img’來表示處理後的值,即
Img’(1,1) =
Img(1,1)*imfilter(1,1) + Img(1,2)*imfilter(1,2) +
Img(2,1)*imfilter(2,1) + Img(2,2)*imfilter(2,2)
若要處理Img(2,2),實際就要用到Img(1,1),Img(1,2),Img(1,3),Img(2,3),Img(2,1),Img(3,1),Img(3,2),Img(3,3)來得到,下面我將用Img’來表示處理後的值,即
Img’(2,2) =
Img(1,1)*imfilter(1,1) + Img(1,2)*imfilter(1,2) + Img(1,3)*imfilter(1,3) +
Img(2,1)*imfilter(2,1) + Img(2,2)*imfilter(2,2) + Img(2,3)*imfilter(2,3) +
Img(3,1)*imfilter(3,1) + Img(3,2)*imfilter(3,2) + Img(3,3)*imfilter(3,3)
綜上,即在處理時只要把濾波器的中心點和要處理的點重合,然後把能夠重合的所有Img和imfilter的值相乘即可得到想要的值