Вывод статистики из GLCM и корреляции графика

В этом примере показано, как создать набор GLCM и извлечь из них статистику. Пример также иллюстрирует, как статистика, возвращаемая серыми культурами, имеет прямое отношение к исходному входному изображению.

Прочтите изображение в рабочую область и отобразите его. Пример преобразует изображение труколора в полутоновое изображение, а затем, в данном примере, поворачивает его на 90 степени.

circuitBoard = rot90(rgb2gray(imread('board.tif')));
imshow(circuitBoard)

Figure contains an axes. The axes contains an object of type image.

Задайте смещения переменного направления и расстояния. Поскольку изображение содержит объекты различных форм и размеров, которые расположены в горизонтальном и вертикальном направлениях, пример задает набор горизонтальных смещений, которые варьируются только на расстоянии.

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

Создайте блоки GLCM. Вызовите graycomatrix функция, задающая смещения.

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

Выведите статистику из GLCMs используя graycoprops функция. Пример вычисляет контрастность и корреляцию.

stats = graycoprops(glcms,'Contrast Correlation');

Постройте корреляцию как функцию от смещения.

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

Figure contains an axes. The axes with title Texture Correlation as a function of offset contains an object of type line.

График содержит peaks на смещениях 7, 15, 23 и 30. Если вы внимательно исследуете вход изображение, можно увидеть, что определенные вертикальные элементы на изображении имеют периодический шаблон, который повторяется каждые семь пикселей.

Для просмотра документации необходимо авторизоваться на сайте