Having graycomatrix rescaling problem

João Mendes · Feb 21, 2022 · 1.9K views
Question
Hi to all,   I am having some trouble using the graycomatrix function. I tried to read the documentation but that did not answered my question.   By default, the input image is rescaled to an image with 8 gray levels. Does anyone knows how is this rescaling performed? Besides the GLCM, I am getting a matrix with all ones as output from the graycomatrix function, which is not the same as I get when i use the rescale function on the original image.
Expert Answer
Profile picture of John Michell
John Michell PhD Expert
Answered Nov 20, 2025
Here is the doc for the NumLevels parameter:
 
Number of gray levels, specified as an integer. For example, if NumLevels is 8, graycomatrix scales the values in I so they are integers between 1 and 8. The number of gray-levels determines the size of the gray-level co-occurrence matrix (glcm).
 
And here is the code fragment inside graycomatrix.m that performs the scaling:
 
% Scale I so that it contains integers between 1 and NL.
if GL(2) == GL(1)
  SI = ones(size(I));
else 
    slope = NL / (GL(2) - GL(1));
    intercept = 1 - (slope*(GL(1)));
    SI = floor(imlincomb(slope,I,intercept,'double'));
end

 

100% Run Guarantee 3-Hour Fast-Track Delivery

Need a Custom Version or Complete Simulation for This Problem?

Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.

Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!