Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

# graycoprops

Properties of gray-level co-occurrence matrix

## Syntax

``stats = graycoprops(glcm,properties)``

## Description

example

````stats = graycoprops(glcm,properties)` calculates the statistics specified in `properties` from the gray-level co-occurrence matrix `glcm`. `glcm` is an m-by-n-by-p array of valid gray-level co-occurrence matrices. If `glcm` is an array of GLCMs, `stats` is an array of statistics for each `glcm`.`graycoprops` normalizes the gray-level co-occurrence matrix (GLCM) so that the sum of its elements is equal to `1`. Each element (r,c) in the normalized GLCM is the joint probability occurrence of pixel pairs with a defined spatial relationship having gray level values r and c in the image. `graycoprops` uses the normalized GLCM to calculate `properties`.```

## Examples

collapse all

Create simple sample GLCM.

`glcm = [0 1 2 3;1 1 2 3;1 0 2 0;0 0 0 3]`
```glcm = 4×4 0 1 2 3 1 1 2 3 1 0 2 0 0 0 0 3 ```

Calculate statistical properties of the GLCM.

`stats = graycoprops(glcm)`
```stats = struct with fields: Contrast: 2.8947 Correlation: 0.0783 Energy: 0.1191 Homogeneity: 0.5658 ```

Read grayscale image into the workspace.

`I = imread('circuit.tif');`

Create two gray-level co-occurrence matrices (GLCM) from the image, specifying different offsets.

`glcm = graycomatrix(I,'Offset',[2 0;0 2])`
```glcm = glcm(:,:,1) = Columns 1 through 6 14205 2107 126 0 0 0 2242 14052 3555 400 0 0 191 3579 7341 1505 37 0 0 683 1446 7184 1368 0 0 7 116 1502 10256 1124 0 0 0 2 1153 1435 0 0 0 0 0 0 0 0 0 0 0 0 Columns 7 through 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 glcm(:,:,2) = Columns 1 through 6 13938 2615 204 4 0 0 2406 14062 3311 630 23 0 145 3184 7371 1650 133 0 2 371 1621 6905 1706 0 0 0 116 1477 9974 1173 0 0 0 1 1161 1417 0 0 0 0 0 0 0 0 0 0 0 0 Columns 7 through 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ```

Get statistics on contrast and homogeneity of the image from the GLCMs.

`stats = graycoprops(glcm,{'contrast','homogeneity'})`
```stats = struct with fields: Contrast: [0.3420 0.3567] Homogeneity: [0.8567 0.8513] ```

## Input Arguments

collapse all

Gray-level Co-occurrence Matrix, specified as a real, non-negative array of finite logical or numeric integers. Use the graycomatrix function to create a GLCM.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64` | `logical`

Statistical properties of the image derived from GLCM, specified as a comma-separated list string scalars or character vectors, space-separated string scalar or character vector, cell array of string scalars or character vectors, or `'all'`. You can specify any of the property names listed in this table. Property names can be abbreviated and are not case sensitive.

Property

Description

Formula

`'Contrast'`

Returns a measure of the intensity contrast between a pixel and its neighbor over the whole image.

```Range = [0 (size(GLCM,1)-1)^2] ```

Contrast is 0 for a constant image.

The property Contrast is also known as variance and inertia.

`'Correlation'`

Returns a measure of how correlated a pixel is to its neighbor over the whole image.

`Range = [-1 1]`

Correlation is 1 or -1 for a perfectly positively or negatively correlated image. Correlation is `NaN` for a constant image.

`'Energy'`

Returns the sum of squared elements in the GLCM.

`Range = [0 1]`

Energy is `1` for a constant image.

The property Energy is also known as uniformity, uniformity of energy, and angular second moment.

`'Homogeneity'`

Returns a value that measures the closeness of the distribution of elements in the GLCM to the GLCM diagonal.

`Range = [0 1]`

Homogeneity is 1 for a diagonal GLCM.

Data Types: `char` | `string` | `cell`

## Output Arguments

collapse all

Statistics derived from the GLCM, returned as a structure with fields that are specified by `properties`. Each field contains a 1-by-p array, where p is the number of gray-level co-occurrence matrices in GLCM. For example, if GLCM is an 8-by-8-by-3 array and properties is `'Energy'`, `stats` is a structure containing the field `Energy`, which contains a 1-by-3 array.