A co-occurrence matrix or co-occurrence distribution (also referred to as : ''gray-level co-occurrence matrices'' GLCMs) is a
matrix
Matrix most commonly refers to:
* ''The Matrix'' (franchise), an American media franchise
** '' The Matrix'', a 1999 science-fiction action film
** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchi ...
that is defined over an
image
An image is a visual representation of something. It can be two-dimensional, three-dimensional, or somehow otherwise feed into the visual system to convey information. An image can be an artifact, such as a photograph or other two-dimensio ...
to be the distribution of co-occurring pixel values (grayscale values, or colors) at a given offset. It is used as an approach to texture analysis with various applications especially in medical image analysis.
Method
Given a grey-level image
, co-occurrence matrix computes how often pairs of pixels with a specific value and offset occur in the image.
* The offset,
, is a position operator that can be applied to any pixel in the image (ignoring edge effects): for instance,
could indicate "one down, two right".
* An image with
different pixel values will produce a
co-occurrence matrix, for the given offset.
* The
value of the co-occurrence matrix gives the number of times in the image that the
and
pixel values occur in the relation given by the offset.
For an image with
different pixel values, the
co-occurrence matrix C is defined over an
image
, parameterized by an offset
, as:
:
where:
and
are the pixel values;
and
are the spatial positions in the image I; the offsets
define the spatial relation for which this matrix is calculated; and
indicates the pixel value at pixel
.
The 'value' of the image originally referred to the
grayscale
In digital photography, computer-generated imagery, and colorimetry, a grayscale image is one in which the value of each pixel is a single sample representing only an ''amount'' of light; that is, it carries only intensity information. Graysc ...
value of the specified
pixel
In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a raster image, or the smallest point in an all points addressable display device.
In most digital display devices, pixels are the s ...
, but could be anything, from a
binary on/off value to 32-bit color and beyond. (Note that 32-bit color will yield a 2
32 × 2
32 co-occurrence matrix!)
Co-occurrence matrices can also be parameterized in terms of a distance,
, and an angle,
, instead of an offset
.
Any matrix or pair of matrices can be used to generate a co-occurrence matrix, though their most common application has been in measuring
texture
Texture may refer to:
Science and technology
* Surface texture, the texture means smoothness, roughness, or bumpiness of the surface of an object
* Texture (roads), road surface characteristics with waves shorter than road roughness
* Texture ...
in images, so the typical definition, as above, assumes that the matrix is an image.
It is also possible to define the matrix across two different images. Such a matrix can then be used for
color mapping
Color mapping is a function that maps (transforms) the colors of one (source) image to the colors of another (target) image. A color mapping may be referred to as the algorithm that results in the mapping function or the algorithm that transform ...
.
Aliases
Co-occurrence matrices are also referred to as:
:* GLCMs (gray-level co-occurrence matrices)
:* GLCHs (gray-level co-occurrence histograms)
:* spatial dependence matrices
Application to image analysis
Whether considering the intensity or
grayscale
In digital photography, computer-generated imagery, and colorimetry, a grayscale image is one in which the value of each pixel is a single sample representing only an ''amount'' of light; that is, it carries only intensity information. Graysc ...
values of the image or various dimensions of color, the co-occurrence matrix can measure the texture of the image. Because co-occurrence matrices are typically large and sparse, various metrics of the matrix are often taken to get a more useful set of features. Features generated using this technique are usually called
Haralick features, after
Robert Haralick.
Texture analysis is often concerned with detecting aspects of an image that are
rotationally invariant. To approximate this, the co-occurrence matrices corresponding to the same relation, but rotated at various regular angles (e.g. 0, 45, 90, and 135 degrees), are often calculated and summed.
Texture measures like the co-occurrence matrix,
wavelet transforms
In mathematics, a wavelet series is a representation of a square-integrable (real- or complex-valued) function by a certain orthonormal series generated by a wavelet. This article provides a formal, mathematical definition of an orthonormal wavel ...
, and
model fitting have found application in medical image analysis in particular.
Other applications
Co-occurrence matrices are also used for words processing in
natural language processing
Natural language processing (NLP) is an interdisciplinary subfield of linguistics, computer science, and artificial intelligence concerned with the interactions between computers and human language, in particular how to program computers to proc ...
(NLP).
[Bryan Bischof. Higher order co-occurrence tensors for hypergraphs via face-splitting. Published 15 February 2020, Mathematics, Computer Science]
ArXiv
/ref>
See also
* Gray level size zone matrix
References
{{reflist
External links
A Grey Level Co-occurrence Matrix tutorial
* ttps://cran.r-project.org/web/packages/glcm Package for GLCM calculation in R
Image processing
Feature detection (computer vision)