Color moments by MATLAB code

9 次查看(过去 30 天)
Dhurgham Al-karawi
Dhurgham Al-karawi 2015-10-26
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.

回答(1 个)

Shrikanth
Shrikanth 2015-11-13
编辑:Image Analyst 2015-11-13
% 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 个评论
Walter Roberson
Walter Roberson 2023-11-6
skews = squeeze(skewness(I, 1, [1 2]));
then skews(1) for R, skews(2) for G, skews(3) for B
Image Analyst
Image Analyst 2023-11-6
编辑:Image Analyst 2023-11-6
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.

请先登录,再进行评论。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by