Specify Offset Used in GLCM Calculation
By default, the graycomatrix
function creates a single
GLCM, with the spatial relationship, or offset, defined as two
horizontally adjacent pixels. However, a single GLCM might not be enough to describe the
textural features of the input image. For example, a single horizontal offset might not
be sensitive to texture with a vertical orientation. For this reason,
graycomatrix
can create multiple GLCMs for a single input
image.
To create multiple GLCMs, specify an array of offsets to the
graycomatrix
function. These offsets define pixel relationships
of varying direction and distance. For example, you can define an array of offsets that
specify four directions (horizontal, vertical, and two diagonals) and four distances. In
this case, the input image is represented by 16 GLCMs. When you calculate statistics
from these GLCMs, you can take the average.
You specify these offsets as a p-by-2 array of integers. Each row
in the array is a two-element vector, [row_offset, col_offset]
, that
specifies one offset. row_offset
is the number of rows between the
pixel of interest and its neighbor. col_offset
is the number of
columns between the pixel of interest and its neighbor. This example creates an offset
that specifies four directions and four distances for each direction.
offsets = [ 0 1; 0 2; 0 3; 0 4;... -1 1; -2 2; -3 3; -4 4;... -1 0; -2 0; -3 0; -4 0;... -1 -1; -2 -2; -3 -3; -4 -4];
The figure illustrates the spatial relationships of pixels that are defined by this
array of offsets, where D
represents the distance from the pixel of
interest.