www.gusucode.com > images 案例代码 matlab源码程序 > images/DeriveStatisticsFromGLCMAndPlotCorrelationExample.m

    %% Derive Statistics from GLCM and Plot Correlation
% This example shows how to create a set of GLCMs and derive statistics
% from them. The example also illustrates how the statistics returned by
% graycoprops have a direct relationship to the original input image.
%%
% Read an image into the workspace and display it. The example converts the
% truecolor image to a grayscale image and then, for this example, rotates
% it 90 degrees.
circuitBoard = rot90(rgb2gray(imread('board.tif')));
imshow(circuitBoard)
%%
% Define offsets of varying direction and distance. Because the image
% contains objects of a variety of shapes and sizes that are arranged in
% horizontal and vertical directions, the example specifies a set of
% horizontal offsets that only vary in distance.
offsets0 = [zeros(40,1) (1:40)'];
%%
% Create the GLCMs. Call the |graycomatrix| function
% specifying the offsets.
glcms = graycomatrix(circuitBoard,'Offset',offsets0);
%%
% Derive statistics from the GLCMs using the |graycoprops| function.
% The example calculates the contrast and correlation.
stats = graycoprops(glcms,'Contrast Correlation');
%%
% Plot correlation as a function of offset.
figure, plot([stats.Correlation]);
title('Texture Correlation as a function of offset');
xlabel('Horizontal Offset')
ylabel('Correlation')
%%
% The plot contains peaks at offsets 7, 15, 23, and 30. If you examine the
% input  image closely, you can see that certain vertical elements in the
% image have  a periodic pattern that repeats every seven pixels.