一、颜色矩公式

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

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

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


二、方法一:

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

RGB颜色矩提取算法——Matlab的更多相关文章

  1. 相似的RGB颜色——算法面试刷题3(for google),考察二分

    在本题中,每个大写字母代表从“0”到“f”的一些十六进制数字. 红绿蓝三元色#AABBCC可以简写为#ABC. 例如,#15c是颜色#1155cc的简写. 现在,假设两种颜色#ABCDEF和#UVWX ...

  2. 每天进步一点点------Alpha半透明图形叠加算法Matlab+Verilog实现

    Alpha图形叠加算法Matlab+Verilog实现 1.1. Alpha算法的研究 Alpha通道是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度信息,定义透明.不透明和半透明区域, ...

  3. 颜色矩原理及Python实现

    原理 颜色矩(color moments)是由Stricker 和Orengo所提出的一种非常简单而有效的颜色特征.这种方法的数学基础在于图像中任何的颜色分布均可以用它的矩来表示.此外,由于颜色分布信 ...

  4. 基于OpenCV的火焰检测(二)——RGB颜色判据

    上文跟大家分享了在做火焰检测中常用到的图像预处理方法,从这一篇博文开始,我将向大家介绍如何一步一步地检测出火焰区域.火焰提取要用 到很多判据,今天我要向大家介绍的是最简单的但是很有效的判据--RGB判 ...

  5. GWO(灰狼优化)算法MATLAB源码逐行中文注解(转载)

    以优化SVM算法的参数c和g为例,对GWO算法MATLAB源码进行了逐行中文注解. tic % 计时器 %% 清空环境变量 close all clear clc format compact %% ...

  6. 三维等值面提取算法(Dual Contouring)

    上一篇介绍了Marching Cubes算法,Marching Cubes算法是三维重建算法中的经典算法,算法主要思想是检测与等值面相交的体素单元并计算交点的坐标,然后对不同的相交情况利用查找表在体素 ...

  7. RGB颜色中的参数是变量的时候,为什么要加上两个+号在左右?

    <script> function draw(){ var c=document.getElementById("mycanvas"); var cxt=c.getCo ...

  8. RGB颜色二值化

    原理:RGB颜色根据计算'灰度'的公式,可以转化为黑白2种颜色,实现二值化. 业务场景的应用:可以根据背景颜色,取一个黑色或白色的颜色,作为背景色上的文案字体颜色 具体代码: function get ...

  9. HTML中RGB颜色查询对照表

    RGB颜色查询对照表     因为兼容性问题,色阶板功能只能在IE浏览器中运行 RGB颜色对照表   #FFFFFF   #FFFFF0   #FFFFE0   #FFFF00   #FFFAFA   ...

随机推荐

  1. qt 使用非系统字库

    之前的做法都是把 ttc, ttf 这些文件拷贝到系统字库里去(即拷贝到 lib/fonts 下).但是,每次添加字体,我都要把产品的文件系统都给升级一遍吗?这样系统的一致性就不大好了.所以想能不能直 ...

  2. MVC5-8 ViewData、ViewBag、TempData分析

    MVC中Contoller与视图的数据传输 后台的值显示到界面上,我们有几种方式呢.MVC给我们提供了ViewData.ViewBag.TempData.Model这几种方式,当然我们也可以用ajax ...

  3. Cost Function Summary

    Mean Square Error \[cost(t,o)=\frac{1}{n}\sum\limits_{i=1}^n{(o-t)^2}\] Binary Cross-Entropy 用于计算 ta ...

  4. iOS - 利用runtime加深对基础知识的理解

    利用runtime加深对基础知识的理解 如果对runtime需要学习,可以看这篇,以下仅作为学习笔记,相互交流. runtime的头文件: #import <objc/runtime.h> ...

  5. (转)雅虎工程师提供的css初始化示例代码

    body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,b ...

  6. Saltstack之Syndic(十)

    Saltstack之Syndic 使用条件: 1.salt syndic必须运行在一台master上 2.salt syndic必须依赖更高级的master 安装 yum install -y sal ...

  7. layer图层常见属性

    把layer常见图层属性总结了一下^-^欢迎大家讨论~~~~来吧 ,代码属性 #import "CZViewController.h" @interface CZViewContr ...

  8. [Java]double初始化问题

    如下: 1. 直接初始化 double[][] embossFilter = {{-1/9, 0, 1/9}, {-1/9, 1/9, 1/9}, {-1/9, 0, 1/9}}; 2. 赋值初始化 ...

  9. elasticsearch scroll api--jestclient invoke

    @Test public void testScroll(){ JestClientFactory factory = new JestClientFactory(); factory.setHttp ...

  10. TP中验证码的实现