Image Processing Toolbox User's Guide |
Syntax
Description
h = fspecial(type)
creates a two-dimensional filter h
of the specified type
. fspecial
returns h
as a correlation kernel, which is the appropriate form to use with imfilter
. type
is a string having one of these values.
Value |
Description |
'average' |
Averaging filter |
'disk' |
Gaussian lowpass filter |
'gaussian' |
Gaussian lowpass filter |
'laplacian' |
Filter approximating the two-dimensional Laplacian operator |
'log' |
Laplacian of Gaussian filter |
'motion' |
Prewitt horizontal edge-emphasizing filter |
'prewitt' |
Prewitt horizontal edge-emphasizing filter |
'sobel' |
Sobel horizontal edge-emphasizing filter |
'unsharp' |
Unsharp contrast enhancement filter |
h = fspecial(type
,parameters) accepts a filter type
plus additional modifying parameters
particular to the type of filter chosen. If you omit these arguments, fspecial
uses default values for the parameters
.
The following list shows the syntax for each filter type. Where applicable, additional parameters are also shown.
h = fspecial('average',hsize)
returns an averaging filter h
of size hsize
. The argument hsize
can be a vector specifying the number of rows and columns in h
, or it can be a scalar, in which case h
is a square matrix. The default value for hsize
is [3 3]
.
h = fspecial('disk',radius)
returns a circular averaging filter (pillbox) within the square matrix of side 2*radius+1
. The default radius
is 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 specifying the number of rows and columns in h
, or it can be a scalar, in which case h
is a square matrix. The default value for hsize
is [3 3]
; the default value for sigma
is 0.5.
h = fspecial('laplacian',alpha)
returns a 3-by-3 filter 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. T
he default value for alpha
is 0.2.
h = fspecial('log',hsize,sigma)
returns a rotationally symmetric Laplacian of Gaussian filter of size hsize
with standard deviation sigma
(positive). hsize
can be a vector specifying the number of rows and columns in h
, or it can be a scalar, in which case h
is a square matrix. T
he default value for hsize
is [5 5]
and 0.5 for sigma
.
h = fspecial('motion',len,theta)
returns a filter to approximate, once convolved with an image, the linear motion of a camera by len
pixels, with an angle of theta
degrees in a counterclockwise direction. The filter becomes a vector for horizontal and vertical motions. The default len
is 9 and the default theta
is 0, which corresponds to a horizontal motion of nine pixels.
h = fspecial('prewitt')
returns the 3-by-3 filter h
(shown below) that emphasizes horizontal edges by approximating a vertical gradient. If you need to emphasize vertical edges, transpose the filter h'
.
h = fspecial('sobel')
returns a 3-by-3 filter h
(shown below) that emphasizes horizontal edges using the smoothing effect by approximating a vertical gradient. If you need to emphasize vertical edges, transpose the filter h'
.
h = fspecial('unsharp',alpha)
returns a 3-by-3 unsharp contrast enhancement filter. fspecial
creates the unsharp filter from the negative of the Laplacian filter with parameter alpha
. alpha
controls the shape of the Laplacian and must be in the range 0.0 to 1.0. T
he default value for alpha
is 0.2.
Class Support
Example
I = imread('cameraman.tif'); subplot(2,2,1); imshow(I); title('Original Image'); H = fspecial('motion',20,45); MotionBlur = imfilter(I,H,'replicate'); subplot(2,2,2); imshow(MotionBlur);title('Motion Blurred Image'); H = fspecial('disk',10); blurred = imfilter(I,H,'replicate'); subplot(2,2,3); imshow(blurred); title('Blurred Image'); H = fspecial('unsharp'); sharpened = imfilter(I,H,'replicate'); subplot(2,2,4); imshow(sharpened); title('Sharpened Image');
Algorithms
fspecial
creates Gaussian filters using
fspecial
creates Laplacian filters using
fspecial
creates Laplacian of Gaussian (LoG) filters using
fspecial
creates averaging filters using
fspecial
creates unsharp filters using
See Also
conv2
, edge
, filter2
, fsamp2
, fwind1
, fwind2
, imfilter
del2
in the MATLAB Function Reference
fsamp2 | ftrans2 |
© 1994-2005 The MathWorks, Inc.