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