Finding energy from co-occurrence matrix

I am trying to find energy of an image using co occurrence matrix. Is this code correct? Is the method of calculating gray level co occurrence matrix correct?
offsets = [ 0 1; -1 1; -1 0; -1 -1];
T(i).energy = 0; %initial energy of image (T(i)) is 0
Imag = T(i).data; %Reading image into Imag
glcm = graycomatrix(Imag,'Of',offsets); %calculating gray level co-occurrence matrix
glcm
[r c] = size(glcm);
for ctr=1:1:r
for ctr2=1:1:c
T(i).energy = T(i).energy+(glcm(ctr,ctr)).^2;
end
end
fprintf('energy is %li\n\n',T(i).energy);

回答 (2 件)

Sean de Wolski
Sean de Wolski 2011 年 1 月 26 日

0 投票

Just a quick comment: your line inside the for-loop never references ctr2, probably typo. You could vectorize both for-loops with the simple:
T(i).energy = sum(gclm(:).^2);
-Sean

1 件のコメント

fathi
fathi 2013 年 4 月 26 日
編集済み: fathi 2013 年 4 月 26 日
yes i think it is correct answer

サインインしてコメントする。

A
A 2025 年 2 月 4 日

0 投票

offsets = [ 0 1; -1 1; -1 0; -1 -1];
T(i).energy = 0; %initial energy of image (T(i)) is 0
Imag = T(i).data; %Reading image into Imag
glcm = graycomatrix(Imag,'Of',offsets); %calculating gray level co-occurrence matrix
glcm
[r c] = size(glcm);
for ctr=1:1:r
for ctr2=1:1:c
T(i).energy = T(i).energy+(glcm(ctr,ctr)).^2;
end
end
fprintf('energy is %li\n\n',T(i).energy);

タグ

質問済み:

2011 年 1 月 26 日

回答済み:

A
A
2025 年 2 月 4 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by