fspecial
Create predefined 2-D filter
Syntax
Description
returns a rotationally symmetric Gaussian lowpass filter of size
h
= fspecial('gaussian',hsize
,sigma
)hsize
with standard deviation sigma
.
Not recommended. Use imgaussfilt
or imgaussfilt3
instead.
returns a filter to approximate, once convolved with an image, the linear motion of
a camera. h
= fspecial('motion',len
,theta
)len
specifies the length of the motion and
theta
specifies the angle of motion in degrees in a
counter-clockwise 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.
returns a 3-by-3
filter that emphasizes horizontal edges by approximating a vertical gradient. To
emphasize vertical edges, transpose the filter h
= fspecial('prewitt')h'
.
[ 1 1 1 0 0 0 -1 -1 -1 ]
returns a 3-by-3 filter that emphasizes horizontal edges using the smoothing effect
by approximating a vertical gradient. To emphasize vertical edges, transpose the
filter h
= fspecial('sobel'
)h'
.
[ 1 2 1 0 0 0 -1 -2 -1 ]
Examples
Input Arguments
Output Arguments
Algorithms
Averaging filters:
ones(n(1),n(2))/(n(1)*n(2))
Gaussian filters:
Laplacian filters:
Laplacian of Gaussian (LoG) filters:
Note that fspecial
shifts the equation to ensure that the sum of
all elements of the kernel is zero (similar to the Laplace kernel) so that the
convolution result of homogeneous regions is always zero.
Motion filters:
Construct an ideal line segment with the length and angle specified by the arguments
len
andtheta
, centered at the center coefficient ofh
.For each coefficient location
(i,j)
, compute the nearest distance between that location and the ideal line segment.h = max(1 - nearest_distance,0);
Normalize
h
:h = h/(sum(h(:)))
Extended Capabilities
Version History
Introduced before R2006a