what is meant by GLCM MEAN (average) ?
Show older comments
i want to know the meaning of GLCM MEAN..
how can i calculate it in matlab?
what is the syntax?
reply soon
Accepted Answer
More Answers (2)
Image Analyst
on 23 Feb 2013
0 votes
It's the Gray Level Co-occurrence Matrix. It basically is kind of like a histogram of how many times a certain gray level occurs next to other gray levels in an image. Sometimes used in texture analysis. It is performed by the function graycomatrix() in the Image Processing Toolbox.
6 Comments
Youssef Khmou
on 23 Feb 2013
thanks for sharing, so an example :
G=graycomatrix(imread('liftingbody.png'));
it gives 8x8 matrix , so why exactly 8x8?
Raman
on 23 Feb 2013
@Youssef KHMOU sir as i m working on my project...m not decided yet exactly what should it be(block size)...i keep on changing it so that i can recognize what it be exactly....
for the timing u can take it as 8x8...
m working on copy move forgery detection...
ur help means alot to me..
Youssef Khmou
on 23 Feb 2013
ok thanks..
Image Analyst
on 23 Feb 2013
Youssef, it's 8 by 8 because they chose to do so. I think intuitively you were expecting 256 by 256, right? That's what I would expect. But for whatever reason, they decided to make an 8 by 8 so the first row or column counts any pixel in the range 0-31 that is next to any other pixel with gray level 0-31, and so on.
Youssef Khmou
on 23 Feb 2013
Edited: Youssef Khmou
on 23 Feb 2013
Mr "Image Analyst": yes,as it is "comatrix" of M(m,n) "refers/related" to either covariance (cross correlation) , or simple meaning of Comtarix, size expected was n-by-n or m-by-m .
But this approach makes sens , unless one is concerned about very tiny details of individual pixels, then he can write a code suitable for that . ok thanks for the explanation
Youssef Khmou
on 23 Feb 2013
so you have two means : left hand side and right hand side ( reference : the link above ), lets take an example :
I=imread('liftingbody.png');
G=graycomatrix(I);
[m n]=size(G);
GLCMl=0 % left
GLCMr=0; % right
for x=1:m
for y=1:n
GLCMl=GLCMl+x*G(x,y);
GLCMr=GLCMr+y*G(x,y);
end
end
it will give 1277276 and 1277165 , logical answer ?
3 Comments
Youssef Khmou
on 23 Feb 2013
everyrthing is in the link angel :
i quote : " The left hand equation calculates the mean based on the reference pixels, i. It is also possible to calculate the mean using the neighbour pixels, j, as in the right hand equation. For the symmetrical GLCM, where each pixel in the window is counted once as a reference and once as a neighbour, the two values are identical."
angel
on 23 Feb 2013
Categories
Find more on Texture Analysis in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!