Color moments by MATLAB code

11 visualizzazioni (ultimi 30 giorni)
Dhurgham Al-karawi
Dhurgham Al-karawi il 26 Ott 2015
Modificato: Image Analyst il 6 Nov 2023
I am seeking help. I would like to measure in MATLAB one feature extraction type, which is "color moments", but unfortunately, I could not find it. Can I get this code? Many thanks.

Risposte (1)

Shrikanth
Shrikanth il 13 Nov 2015
Modificato: Image Analyst il 13 Nov 2015
% Extract RGB Channel
R=I(:,:,1);
G=I(:,:,2);
B=I(:,:,3);
% Extract Statistical features
% 1] MEAN
meanR=mean2(R);
meanG=mean2(G);
meanB=mean2(B);
% 2] Standard Deviation
stdR=std2(R);
stdG=std2(G);
stdB=std2(B);
A=[meanR meanG meanB stdR stdG stdB];
I think this will help you to find color moments in a color image.
  4 Commenti
Walter Roberson
Walter Roberson il 6 Nov 2023
skews = squeeze(skewness(I, 1, [1 2]));
then skews(1) for R, skews(2) for G, skews(3) for B
Image Analyst
Image Analyst il 6 Nov 2023
Modificato: Image Analyst il 6 Nov 2023
Note that these statistics are based purely on the pixel intensity alone. They are not spatial moments (like moment of inertia) that depends on where the pixels are located. If you want spatial moments, see my attached demo on spatial moments.
So mean, std, and skewness would give you the same answer if all the pixels were in an intensity ramp, or if they were distributed in a donut shape, or any other shape. The spatial moments would give you different values for those two images. I just want to make sure you know what you're measuring, and what is possible, so you can make the right choice for your situation.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by