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
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 |
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.
draw_region, circle, ellipse, rectangle1, rectangle2, threshold__, erosion_circle, gauss__, smooth__, sub__
cooc_feature2, texture_cooc, write_cooc_matrix