graycomatrix
Create gray-level co-occurrence matrix from image
Description
creates
a gray-level co-occurrence matrix (GLCM) from image glcms
= graycomatrix(I
)I
. Another
name for a gray-level co-occurrence matrix is a gray-level spatial
dependence matrix.
graycomatrix
creates the GLCM by calculating
how often a pixel with gray-level (grayscale intensity) value i occurs
horizontally adjacent to a pixel with the value j.
(You can specify other pixel spatial relationships using the 'Offsets'
parameter.)
Each element (i,j) in glcm
specifies
the number of times that the pixel with value i occurred
horizontally adjacent to a pixel with value j.
returns one or more gray-level co-occurrence matrices, depending on the values of
the optional name-value pair arguments.glcms
= graycomatrix(I
,Name,Value
)
Examples
Input Arguments
Output Arguments
Algorithms
graycomatrix
calculates the GLCM from a scaled version of the image. By
default, if I
is a binary image, graycomatrix
scales the image to two gray-levels. If I
is an intensity image,
graycomatrix
scales the image to eight gray-levels. You can
specify the number of gray levels graycomatrix
uses to scale the
image by using the 'NumLevels'
parameter, and the way that
graycomatrix
scales the values using the
'GrayLimits'
name-value argument.
The following figure shows how graycomatrix
calculates several values in
the GLCM of the 4-by-5 image I
. Element (1,1) in the GLCM contains
the value 1
because there is only one instance in the image where
two, horizontally adjacent pixels have the values 1
and
1
. Element (1,2)
in the GLCM contains the
value 2
because there are two instances in the image where two,
horizontally adjacent pixels have the values 1
and
2
. graycomatrix
continues this processing to
fill in all the values in the GLCM.
graycomatrix
ignores pixel pairs if either of the pixels contains a
NaN
, replaces positive Infs
with the value
NumLevels
, and replaces negative Infs
with the
value 1
. graycomatrix
ignores border pixels, if
the corresponding neighbor pixel falls outside the image boundaries.
The GLCM created when 'Symmetric'
is set
to true
is symmetric across its diagonal, and is
equivalent to the GLCM described by Haralick (1973). The GLCM produced
by the following syntax, with 'Symmetric'
set to true
graycomatrix(I,'offset',[0 1],'Symmetric',true)
is equivalent to the sum of the two GLCMs produced by the following statements where
'Symmetric'
is set to false
.
graycomatrix(I,'offset',[0 1],'Symmetric',false) graycomatrix(I,'offset',[0 -1],'Symmetric',false)
References
[1] Haralick, R.M., K. Shanmugan, and I. Dinstein, "Textural Features for Image Classification", IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-3, 1973, pp. 610-621.
[2] Haralick, R.M., and L.G. Shapiro. Computer and Robot Vision: Vol. 1, Addison-Wesley, 1992, p. 459.
Version History
Introduced before R2006a