一、顏色矩公式
一階顏色矩——均值,反映圖像明暗程度
二階顏色矩 ——標准差,反映圖像顏色分布范圍
三階顏色矩 ——方差,反映圖像顏色分布對稱性
二、方法一:
firstMoment = mean(mean(tmpImage)); % 一階顏色矩
difference = tmpImage(:,:,m) - firstMoment(1,1,m); %差分顏色矩
secondMoment = sqrt(mean(mean(difference.*difference))); % 二階顏色矩
thirdMoment = nthroot(mean(mean(difference.*difference.*difference)),3); % 三階顏色矩
To interpret
tmpImage –>101(rows)*101(columns)*3(layers) Matrix
第一次求均值(mean(tmpImage)):1*101*3
%均值mean函數,優先對列求均值
firstMoment –> 第二次求均值:1*1*3
difference –> 101*101*1
%點乘(矩陣乘法):[3*3*1].*[3*3*1] –> [3*3*1]
difference.*difference –> 101*101*1
%兩次求均值是因為要求一個二維矩陣的矩陣
secondMoment –> 原理同上
thirdMoment –> 原理同上
三、方法二
firstMoment = mean(mean(tmpImage)); % 一階顏色矩
difference = tmpImage(:,:,m) - firstMoment(1,1,m); %差分顏色矩
secondMoment = sqrt(sum(difference(:).*difference(:))/101/101)); % 二階顏色矩
thirdMoment = nthroot(sum(difference(:).*difference(:).*difference(:))/101*101,3); % 三階顏色矩
To interpret
difference(:) –>10201*1(columns)*1(layer)
%將其矩陣轉換為n*1的列矩陣
difference(:).*difference(:) –> 10201*1*1
sum((difference(:).*difference(:))/101/101)) –> 1(sum value)*1*1
sum value/101/101 –> mean value