
B =imfilter(A,H,option1,option2,...)
或?qū)懽鱣 = imfilter(f, w,filtering_mode, boundary_options, size_options)
其中,f為輸入圖像,w為濾波掩模,g為濾波后圖像。filtering_mode用于指定在濾波過程中是使用“相關(guān)”還是“卷積”。boundary_options用于處理邊界充零問題,邊界的大小由濾波器的大小確定。具體參數(shù)選項見下表:
| 選項 | 描述 | |
| filtering_mode | ‘corr’ | 通過使用相關(guān)來完成,該值為默認。 |
| ‘conv’ | 通過使用卷積來完成 | |
| boundary_options | ‘X’ | 輸入圖像的邊界通過用值X(無引號)來填充擴展 其默認值為0 |
| ‘replicate’ | 圖像大小通過復(fù)制外邊界的值來擴展 | |
| ‘symmetric’ | 圖像大小通過鏡像反射其邊界來擴展 | |
| ‘circular’ | 圖像大小通過將圖像看成是一個二維周期函數(shù)的一個周期來擴展 | |
| size_options | ‘full’ | 輸出圖像的大小與被擴展圖像的大小相同 |
| ‘same’ | 輸出圖像的大小與輸入圖像的大小相同。這可通過將濾波掩模的中心點的偏移限制到原圖像中包含的點來實現(xiàn),該值為默認值。 |
舉例:originalRGB =imread('peppers.png');
imshow(originalRGB)
h = fspecial('motion', 50, 45);%創(chuàng)建一個濾波器
filteredRGB = imfilter(originalRGB, h);
figure, imshow(filteredRGB)
Matlab 的fspecial函數(shù)用法
fspecial函數(shù)用于建立預(yù)定義的濾波算子,其語法格式為:
h = fspecial(type)
h = fspecial(type,para)
其中type指定算子的類型,para指定相應(yīng)的參數(shù);
type的類型有:
1、'average'
averaging filter
為均值濾波,參數(shù)為hsize代表模板尺寸,默認值為【3,3】。
H = FSPECIAL('average',HSIZE) returns an averaging filter H ofsize
HSIZE. HSIZE can be a vector specifying the number of rows andcolumns in
H or a scalar, in which case H is a square matrix.
The default HSIZE is [3 3].
2、 'disk'
circular averaging filter
為圓形區(qū)域均值濾波,參數(shù)為radius代表區(qū)域半徑,默認值為5.
H = FSPECIAL('disk',RADIUS) returns a circular averagingfilter
(pillbox) within the square matrix of side 2*RADIUS+1.
The default RADIUS is 5.
3、'gaussian'
Gaussian lowpass filter
為高斯低通濾波,有兩個參數(shù),hsize表示模板尺寸,默認值為【33】,sigma為濾波器的標(biāo)準(zhǔn)值,單位為像素,默認值為0.5.
H = FSPECIAL('gaussian',HSIZE,SIGMA) returns a rotationally
symmetric Gaussian lowpass filter
of size HSIZE with standard
deviation SIGMA (positive). HSIZE can be a vector specifyingthe
number of rows and columns in H or a scalar, in which case H isa
square matrix.
The default HSIZE is [3 3], the default SIGMA is 0.5.
4、'laplacian' filter approximating the 2-D Laplacianoperator
為拉普拉斯算子,參數(shù)alpha用于控制算子形狀,取值范圍為【0,1】,默認值為0.2.
H = FSPECIAL('laplacian',ALPHA) returns a 3-by-3 fi lter
approximating the shape of the two-dimensional Laplacian
operator. The parameter ALPHA controls the shape of the
Laplacian and must be in the range 0.0 to 1.0.
The default ALPHA is 0.2.
5、'log'
Laplacian of Gaussian filter
為拉普拉斯高斯算子,有兩個參數(shù),hsize表示模板尺寸,默認值為【33】,sigma為濾波器的標(biāo)準(zhǔn)差,單位為像素,默認值為0.5.
H = FSPECIAL('log',HSIZE,SIGMA) returns a rotationallysymmetric
Laplacian of Gaussian filter of size HSIZE with standarddeviation
SIGMA (positive). HSIZE can be a vector specifying the number ofrows
and columns in H or a scalar, in which case H is a squarematrix.
The default HSIZE is [5 5], the default SIGMA is 0.5.
6、'motion'
motion filter
為運動模糊算子,有兩個參數(shù),表示攝像物體逆時針方向以theta角度運動了len個像素,len的默認值為9,theta的默認值為0;
H = FSPECIAL('motion',LEN,THETA) returns a filter toapproximate, once
convolved with an image, the linear motion of a camera by LENpixels,
with an angle of THETA degrees in a counter-clockwise direction.The
filter becomes a vector for horizontal and vertical motions.
The
default LEN is 9, the default THETA is 0, which corresponds toa
horizontal motion of 9 pixels.
7、'prewitt'
Prewitt horizontal edge-emphasizing filter
用于邊緣增強,大小為【3 3】,無參數(shù)
H = FSPECIAL('prewitt') returns 3-by-3 filter thatemphasizes
horizontal edges by approximating a vertical gradient. If youneed to
emphasize vertical edges, transpose the filter H: H'.
[1 1 1;0 0 0;-1 -1 -1].
8、'sobel'
Sobel horizontal edge-emphasizing filter
用于邊緣提取,無參數(shù)
H = FSPECIAL('sobel') returns 3-by-3 filter that emphasizes
horizontal edges utilizing the smoothing effect by approximatinga
vertical gradient. If you need to emphasize vertical edges,transpose
the filter H: H'.
[1 2 1;0 0 0;-1 -2 -1].
9、'unsharp'
unsharp contrast enhancement filter
為對比度增強濾波器。參數(shù)alpha用于控制濾波器的形狀,范圍為【0,1】,默認值為0.2.
H = FSPECIAL('unsharp',ALPHA) returns a 3-by-3 unsharpcontrast
enhancement filter. FSPECIAL creates the unsharp filter fromthe
negative of the Laplacian filter with parameter ALPHA. ALPHAcontrols
the shape of the Laplacian and must be in the range 0.0 to1.0.
The default ALPHA is 0.2
愛華網(wǎng)



