Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Derivar estadísticas de una GLCM y representar una correlación

Este ejemplo muestra cómo crear un conjunto de matrices de coocurrencia de nivel de gris (GLCM) y derivar estadísticas a partir de ellas. Este ejemplo también ilustra cómo las estadísticas devueltas por graycoprops tienen una relación directa con la imagen de entrada original.

Lea una imagen en el espacio de trabajo y muéstrela. El ejemplo convierte la imagen en color verdadero en una imagen en escala de grises y, después, para este ejemplo, la gira 90 grados.

circuitBoard = rot90(im2gray(imread("board.tif")));
imshow(circuitBoard)

Defina desplazamientos de dirección y distancia variables. Puesto que la imagen contiene objetos de distintas formas y tamaños que están dispuestos en las direcciones horizontal y vertical, el ejemplo especifica un conjunto de desplazamientos horizontales que solo varían en la distancia.

offsets0 = [zeros(40,1) (1:40)'];

Cree las GLCM. Llame a la función graycomatrix especificando los desplazamientos.

glcms = graycomatrix(circuitBoard,"Offset",offsets0);

Derive estadísticas de las GLCM utilizando la función graycoprops. El ejemplo calcula el contraste y la correlación.

stats = graycoprops(glcms,["Contrast" "Correlation"]);

Represente la correlación como una función de desplazamiento.

figure, plot([stats.Correlation]);
title("Texture Correlation as a function of offset");
xlabel("Horizontal Offset")
ylabel("Correlation")

La gráfica contiene picos en los desplazamientos 7, 15, 23 y 30. Si examina la imagen de entrada con atención, puede ver que determinados elementos verticales de la imagen tienen un patrón periódico que se repite cada siete píxeles.

Consulte también

Temas relacionados