- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Gray Level Co-occurrence Matrix in MATLAB
In digital image processing, the gray level co-occurrence matrix, also known as GLCM, is a statistical method employed for holding the spatial relationship between pairs of pixels in a digital image.
The gray level co-occurrence is a method of representing the way in which different combinations of pixel intensities are arranged within the image. It is mainly used to specify the texture property of an image and provide the information about the patterns, variations, and structures occurring in the pixel values within spatial regions of the image.
What is Gray Level Co-Occurrence Matrix?
As stated above, the gray level co-occurrence matrix (GLCM) is a statistical method that provides information about relationship between pixel intensities in a specified local region of an image.
The gray level co-occurrence matrix is basically a square matrix whose elements represent the frequency of a pixel occurrence in an image. This technique is quite useful in obtaining information about texture and patterns present in an image in image processing applications.
How to Calculate Gray Level Co-occurrence Matrix in MATLAB?
MATLAB provides a built-in function 'geaycomatrix' to calculate the gray level co-occurrence matrix from an image.
This function can have the following three syntaxes:
glcm = graycomatrix(I) glcm = graycomatrix(I, Name, Value) [glcm, SI] = graycomatrix(___)
We will cover all these syntaxes in the upcoming sections of this article. Before that let's get an idea about the step-by-step process of calculating the gray level co-occurrence matrix using MATLAB.
Process of Calculating Gray Level Co-occurrence Matrix
The step-by-step process for calculating the gray level co-occurrence matrix from an image using MATLAB is explained below:
Step (1) – Read the input image and convert it to gray scale version.
Step (2) – Define the parameters such as distance between pixel pairs, angle, etc. for calculating the gray level co-occurrence matrix.
Step (3) – Compute the gray level co-occurrence matrix using the 'graycomatrix' function.
This gray level co-occurrence matrix then can be used to analyze the texture and pattern properties of the image.
Now, let us practically understand how to create a gray level co-occurrence matrix from an image in MATLAB.
Calculate Gray Level Co-occurrence Matrix using Default Parameters
In MATLAB, we can use the following syntax of the 'graycomatrix' function to create the gray level co-occurrence matrix (GLCM) from image with default parameters.
glcm = graycomatrix(I);
Where, I is the input gray scale image.
Example
Let us now consider an example program to demonstrate the implementation of this syntax in MATLAB programming.
% MATLAB program to create GLCM with default parameters % Read the input image img = imread('https://www.tutorialspoint.com/assets/questions/media/14304-1687425236.jpg'); % Convert the input image to gray scale image I = rgb2gray(img); % Compute GLCM with default parameters glcm = graycomatrix(I); % Display the GLCM disp('The GLCM for the input image is:'); disp(glcm);
Output
The GLCM for the input image is: 33 129 41 14 1 0 0 0 135 2874 778 223 84 24 3 0 31 791 22294 3199 329 125 35 1 15 174 3236 28009 3252 394 152 16 3 106 311 3128 14310 2148 317 74 1 42 140 485 1775 12637 2085 200 0 6 59 186 513 1594 24010 2485 0 0 6 40 155 484 2289 136872
Calculate Gray Level Co-occurrence Matrix using Specified Parameters
In MATLAB, the following syntax of the 'graycomatrix' function is used to calculate the gray level co-occurrence matrix using specified parameters.
glcm = graycomatrix(I, Name, Value, …);
In this syntax, we specify the parameters by using the Name-Value pairs.
Example
The following example demonstrates the practical implementation of this syntax in MATLAB programming.
% MATLAB program to create GLCM with specified parameters % Read the input image img = imread('https://www.tutorialspoint.com/assets/questions/media/14304-1687425236.jpg'); % Convert the input image to gray scale image I = rgb2gray(img); % Compute GLCM with default parameters glcm = graycomatrix(I, 'Offset', [2 1], 'NumLevels', 7); % Display the GLCM disp('The GLCM for the input image is:'); disp(glcm);
Output
The GLCM for the input image is: 53 193 33 26 34 53 54 206 4087 1611 406 243 190 283 26 1607 32291 5636 1006 486 352 24 413 5511 20083 3230 844 604 29 236 1051 2957 11465 2442 768 49 201 555 808 1938 20689 3416 57 284 410 811 1073 2974 139777
Calculate Gray Level Co-occurrence Matrix Returning Scaled Image
In MATLAB, the following syntax of the 'graycomatrix' function is used to calculate the gray level co-occurrence matrix that returns a scaled image.
[glcm, SI] = graycomatrix(___);
Here, the variable 'SI' is the scaled image which is basically the input image normalized to the range [1, NumLevels].
Example
Let us see an example to understand the implementation of this syntax in MATLAB programming.
% MATLAB program to create GLCM returning scaled image % Read the input image img = imread('https://www.tutorialspoint.com/assets/questions/media/14304-1687425236.jpg'); % Convert the input image to gray scale image I = rgb2gray(img); % Compute GLCM with default parameters [glcm, SI] = graycomatrix(I); % Display the GLCM and scaled image disp('The GLCM for the input image is:'); disp(glcm); disp('The scaled image is:'); imshow(rescale(SI));
Output
The GLCM for the input image is:
The GLCM for the input image is: 33 129 41 14 1 0 0 0 135 2874 778 223 84 24 3 0 31 791 22294 3199 329 125 35 1 15 174 3236 28009 3252 394 152 16 3 106 311 3128 14310 2148 317 74 1 42 140 485 1775 12637 2085 200 0 6 59 186 513 1594 24010 2485 0 0 6 40 155 484 2289 136872
The scaled image is:
Conclusion
This is all about creating a gray level co-occurrence matrix (GLCM) in MATLAB. For this, MATLAB provides a built-in function 'graycomatrix' that allows to calculate the comatrix from an image to analyze the texture characteristics of the image.
In this tutorial, we have explained the concept of gray level co-occurrence matrix, its significance in image processing and practically examples to understand how to calculate the GLCM for an image using MATLAB.