# Image texture

Artificial texture example.
Natural texture example.

An image texture is a set of metrics calculated in image processing designed to quantify the perceived texture of an image. Image texture gives us information about the spatial arrangement of color or intensities in an image or selected region of an image.[1]

Image textures can be artificially created or found in natural scenes captured in an image. Image textures are one way that can be used to help in segmentation or classification of images. For more accurate segmentation the most useful features are spatial frequency and an average grey level.[2] To analyze an image texture in computer graphics, there are two ways to approach the issue: Structured Approach and Statistical Approach.

## Structured Approach

A structured approach sees an image texture as a set of primitive texels in some regular or repeated pattern. This works well when analyzing artificial textures.

To obtain a structured description a characterization of the spatial relationship of the texels is gathered by using Voronoi tessellation of the texels.

## Statistical Approach

A statistical approach sees an image texture as a quantitative measure of the arrangement of intensities in a region. In general this approach is easier to compute and is more widely used, since natural textures are made of patterns of irregular subelements.

### Edge Detection

The use of edge detection is to determine the number of edge pixels in a specified region, helps determine a characteristic of texture complexity. After edges have been found the direction of the edges can also be applied as a characteristic of texture and can be useful in determining patterns in the texture. These directions can be represented as an average or in a histogram.

Consider a region with N pixels. the gradient-based edge detector is applied to this region by producing two outputs for each pixel p: the gradient magnitude Mag(p) and the gradient direction Dir(p). The edgeness per unit area can be defined by ${\displaystyle F_{edgeness}={\frac {|\{p|Mag(p)>T\}|}{N}}}$ for some threshold T.

To include orientation with edgeness histograms for both gradient magnitude and gradient direction can be used. Hmag(R) denotes the normalized histogram of gradient magnitudes of region R, and Hdir(R) denotes the normalized histogram of gradient orientations of region R. Both are normalized according to the size NR Then ${\displaystyle F_{mag,dir}=(H_{mag}(R),H_{dir}(R))}$ is a quantitative texture description of region R.

### Co-occurrence Matrices

The co-occurrence matrix captures numerical features of a texture using spatial relations of similar gray tones.[3] Numerical features computed from the co-occurrence matrix can be used to represent, compare, and classify textures. The following are a subset of standard features derivable from a normalized co-occurrence matrix:

{\displaystyle {\begin{aligned}Angular{\text{ }}2nd{\text{ }}Moment&=\sum _{i}\sum _{j}p[i,j]^{2}\\Contrast&=\sum _{i=1}^{Ng}\sum _{j=1}^{Ng}n^{2}p[i,j]{\text{, where }}|i-j|=n\\Correlation&={\frac {\sum _{i=1}^{Ng}\sum _{j=1}^{Ng}(ij)p[i,j]-\mu _{x}\mu _{y}}{\sigma _{x}\sigma _{y}}}\\Entropy&=-\sum _{i}\sum _{j}p[i,j]ln(p[i,j])\\\end{aligned}}}

where ${\displaystyle p[i,j]}$ is the ${\displaystyle [i,j]}$th entry in a gray-tone spatial dependence matrix, and Ng is the number of distinct gray-levels in the quantized image.

One negative aspect of the co-occurrence matrix is that the extracted features do not necessarily correspond to visual perception.

### Laws Texture Energy Measures

Another approach is to use local masks to detect various types of texture features. Laws[4] originally used four vectors representing texture features to create sixteen 2D masks from the outer products of the pairs of vectors. The four vectors and relevant features were as follows:

 L5  =  [ +1  +4  6  +4  +1 ]  (Level)
E5  =  [ -1  -2  0  +2  +1 ]  (Edge)
S5  =  [ -1   0  2   0  -1 ]  (Spot)
R5  =  [ +1  -4  6  -4  +1 ]  (Ripple)


To these 4, a fifth is sometimes added:[5]

 W5  =  [ -1  +2  0  -2  +1 ]  (Wave)


From Laws' 4 vectors, 16 5x5 "energy maps" are then filtered down to 9 in order to remove certain symmetric pairs. For instance, L5E5 measures vertical edge content and E5L5 measures horizontal edge content. The average of these two measures is the "edginess" of the content. The resulting 9 maps used by Laws are as follows:[6]

L5E5/E5L5
L5R5/R5L5
E5S5/S5E5
S5S5
R5R5
L5S5/S5L5
E5E5
E5R5/R5E5
S5R5/R5S5


Running each of these nine maps over an image to create a new image of the value of the origin ([2,2]) results in 9 "energy maps," or conceptually an image with each pixel associated with a vector of 9 texture attributes.

### Autocorrelation and Power Spectrum

The autocorrelation function of an image can be used to detect repetitive patterns of textures.

## Texture Segmentation

The use of image texture can be used as a description for regions into segments. There are two main types of segmentation based on image texture, region based and boundary based. Though image texture is not a perfect measure for segmentation it is used along with other measures, such as color, that helps solve segmenting in image.

### Region Based

Attempts to group or cluster pixels based on texture properties.

### Boundary Based

Attempts to group or cluster pixels based on edges between pixels that come from different texture properties.