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.