В этом примере показано, как создать набор 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. Если вы исследуете входное изображение тесно, вы видите, что определенные вертикальные элементы в изображении имеют периодический шаблон, который повторяет каждые семь пикселей.