gen_cooc_matrix ( Regions, Image : Matrix : LdGray, Direction : )

Calculate the co-occurrence matrix of a region in an image.

The operator gen_cooc_matrix determines from the input regions how often the gray values i and j are located next to each other in a certain direction (0, 45, 90, 135 degrees), stores this number in the co-occurrence matrix at the locations (i,j) and (j,i) (the matrix is symmetrical), and finally scalse the matrix with the number of entries. LdGray indicates the number of gray values to be distinguished (namely 2^LdGray).

Example (LdGray = 2, i.e. 4 gray values are distinguished):

        Input image with gray values:     0 0 3
                                          1 1 2
                                          1 2 3

        Co-occurrence matrix (not scaled):

                2 0 0 1         0 1 1 0
                0 2 2 0         1 0 1 1
                0 2 0 1         1 1 0 0
                1 0 1 0         0 1 0 0

                0 2 0 0         0 1 0 0
                2 2 1 0         1 2 0 1
                0 1 0 2         0 0 2 0
                0 0 2 0         0 1 0 0
 


Parameters

Regions (input_object)
region(-array) -> object
Region to be checked.

Image (input_object)
image -> object : byte
Image providing the gray values.

Matrix (output_object)
image(-array) -> object : int4
Co-occurrence matrix (matrices).

LdGray (input_control)
integer -> integer
Number of gray values to be distinguished (2^LdGray).
Default value: 6
List of values: 1, 2, 3, 4, 5, 6, 7, 8
Range of values: 1 <= LdGray <= 256 (lin)
Minimum increment: 1
Recommended increment: 1

Direction (input_control)
integer -> integer
Direction of neighbour relation.
Default value: 0
List of values: 0, 45, 90, 135


Result

The operator gen_cooc_matrix returns the value TRUE if an image with defined gray values is entered and the parameters are correct. The behavior in case of empty input (no input images available) is set via the operator set_system(::'no_object_result',<Result>:), the behavior in case of empty region is set via set_system(::'empty_region_result',<Result>:). If necessary an exception is raised.


Possible Predecessors

draw_region, circle, ellipse, rectangle1, rectangle2, threshold__, erosion_circle, gauss__, smooth__, sub__


Alternatives

cooc_feature1


See also

cooc_feature2, texture_cooc, write_cooc_matrix



Copyright © 1996-1997 MVTec Software GmbH