RGB顏色矩提取算法——Matlab


 

一、顏色矩公式

一階顏色矩——均值,反映圖像明暗程度

二階顏色矩 ——標准差,反映圖像顏色分布范圍

  

三階顏色矩 ——方差,反映圖像顏色分布對稱性

 


二、方法一:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM