Image Processing Toolbox | ![]() ![]() |
Syntax
h = fspecial(type
) h = fspecial(type
,parameters)
Description
h = fspecial(
type
)
creates a two-dimensional filter h
of the specified type
. (fspecial
returns h
as a computational molecule, which is the appropriate form to use with filter2
.) type
is a string having one of these values:
'gaussian'
for a Gaussian lowpass filter'sobel'
for a Sobel horizontal edge-emphasizing filter'prewitt'
for a Prewitt horizontal edge-emphasizing filter'laplacian'
for a filter approximating the two-dimensional Laplacian operator'log'
for a Laplacian of Gaussian filter'average'
for an averaging filter'unsharp'
for an unsharp contrast enhancement filterh = 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(
'gaussian',n,sigma)
returns a rotationally symmetric Gaussian lowpass filter with standard deviation sigma
(in pixels). n
is a 1-by-2 vector specifying the number of rows and columns in h
. (n
can also be a scalar, in which case h
is n
-by-n
.) If you do not specify the parameters, fspecial
uses the default values of [3 3] for n
and 0.5 for sigma
.h = fspecial(
'sobel')
returns this 3-by-3 horizontal edge-finding and y-derivative approximation filter:
[ 1 2 1
0 0 0
-1 -2 -1 ]
To find vertical edges, or for x-derivatives, use h'
.
h = fspecial(
'prewitt')
returns this 3-by-3 horizontal edge-finding and y-derivative approximation filter:
[ 1 1 1
0 0 0
-1 -1 -1 ]
To find vertical edges, or for x-derivatives, use h'
.
h = fspecial(
'laplacian',alpha)
returns a 3-by-3 filter approximating the two-dimensional Laplacian operator. The parameter alpha
controls the shape of the Laplacian and must be in the range 0 to 1.0. fspecial
uses the default value of 0.2 if you do not specify alpha
.h = fspecial(
'log',n,sigma)
returns a rotationally symmetric Laplacian of Gaussian filter with standard deviation sigma
(in pixels). n
is a 1-by-2 vector specifying the number of rows and columns in h
. (n
can also be a scalar, in which case h
is n
-by-n
.) If you do not specify the parameters, fspecial
uses the default values of [5 5] for n
and 0.5 for sigma
.h = fspecial('average',n)
returns an averaging filter. n
is a 1-by-2 vector specifying the number of rows and columns in h
. (n
can also be a scalar, in which case h
is n
-by-n
.) If you do not specify n
, fspecial
uses the default value of [3 3]. 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 to 1.0. fspecial
uses the default value of 0.2 if you do not specify alpha
.Example
I = imread('saturn.tif'); h = fspecial('unsharp',0.5); I2 = filter2(h,I)/255; imshow(I) figure, imshow(I2)
Algorithms
fspecial
creates Gaussian filters using
fspecial
creates Laplacian filters using
fspecial
creates Laplacian of Gaussian (LoG) filters using
fspecial
creates averaging filters using
ones(n(1),n(2))/(n(1)*n(2))
fspecial
creates unsharp filters using
See Also
conv2
, edge
, filter2
, fsamp2
, fwind1
, fwind2
del2
in the MATLAB Function Reference
![]() | fsamp2 | ftrans2 | ![]() |