Выведите статистику от GLCM и постройте корреляцию

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

Считайте изображение в рабочую область и отобразите ее. Пример преобразовывает изображение истинного цвета в полутоновое изображение и затем для этого примера, вращает его 90 градусов.

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

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

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

Создайте GLCMs. Вызовите функцию 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')

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