matlab颜色矩计算_RGB颜色矩提取算法——Matlab

一、颜色矩公式

一阶颜色矩——均值,反映图像明暗程度

png.latex?%5Cdpi%7B150%7D%20%5Clarge%20E_%7Bi%7D%3D%5Cfrac%7B1%7D%7BN%7D%5Csum_%7Bj-1%7D%5E%7BN%7Dp_%7Bij%7D

二阶颜色矩 ——标准差,反映图像颜色分布范围

png.latex?%5Cdpi%7B150%7D%20%5Clarge%20%5Csigma%20_%7Bi%7D%3D%5Csqrt%7B%5Cfrac%7B1%7D%7BN%7D%5Csum_%7Bj-1%7D%7BN%7D%28p_%7Bij%7D-E_%7Bi%7D%29%5E2%7D

三阶颜色矩 ——方差,反映图像颜色分布对称性

png.latex?%5Cdpi%7B150%7D%20%5Clarge%20%5Csigma%20_%7Bi%7D%3D%5Csqrt%5B3%5D%7B%5Cfrac%7B1%7D%7BN%7D%5Csum_%7Bj-1%7D%7BN%7D%28p_%7Bij%7D-E_%7Bi%7D%29%5E3%7D

二、方法一: 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

原文:http://www.cnblogs.com/shadrach/p/5511160.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值