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
RGB颜色矩提取算法——Matlab的更多相关文章
- 相似的RGB颜色——算法面试刷题3(for google),考察二分
在本题中,每个大写字母代表从“0”到“f”的一些十六进制数字. 红绿蓝三元色#AABBCC可以简写为#ABC. 例如,#15c是颜色#1155cc的简写. 现在,假设两种颜色#ABCDEF和#UVWX ...
- 每天进步一点点------Alpha半透明图形叠加算法Matlab+Verilog实现
Alpha图形叠加算法Matlab+Verilog实现 1.1. Alpha算法的研究 Alpha通道是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度信息,定义透明.不透明和半透明区域, ...
- 颜色矩原理及Python实现
原理 颜色矩(color moments)是由Stricker 和Orengo所提出的一种非常简单而有效的颜色特征.这种方法的数学基础在于图像中任何的颜色分布均可以用它的矩来表示.此外,由于颜色分布信 ...
- 基于OpenCV的火焰检测(二)——RGB颜色判据
上文跟大家分享了在做火焰检测中常用到的图像预处理方法,从这一篇博文开始,我将向大家介绍如何一步一步地检测出火焰区域.火焰提取要用 到很多判据,今天我要向大家介绍的是最简单的但是很有效的判据--RGB判 ...
- GWO(灰狼优化)算法MATLAB源码逐行中文注解(转载)
以优化SVM算法的参数c和g为例,对GWO算法MATLAB源码进行了逐行中文注解. tic % 计时器 %% 清空环境变量 close all clear clc format compact %% ...
- 三维等值面提取算法(Dual Contouring)
上一篇介绍了Marching Cubes算法,Marching Cubes算法是三维重建算法中的经典算法,算法主要思想是检测与等值面相交的体素单元并计算交点的坐标,然后对不同的相交情况利用查找表在体素 ...
- RGB颜色中的参数是变量的时候,为什么要加上两个+号在左右?
<script> function draw(){ var c=document.getElementById("mycanvas"); var cxt=c.getCo ...
- RGB颜色二值化
原理:RGB颜色根据计算'灰度'的公式,可以转化为黑白2种颜色,实现二值化. 业务场景的应用:可以根据背景颜色,取一个黑色或白色的颜色,作为背景色上的文案字体颜色 具体代码: function get ...
- HTML中RGB颜色查询对照表
RGB颜色查询对照表 因为兼容性问题,色阶板功能只能在IE浏览器中运行 RGB颜色对照表 #FFFFFF #FFFFF0 #FFFFE0 #FFFF00 #FFFAFA ...
随机推荐
- centos安装altas
centos6.6 atlas2.2.1 atlas项目 https://github.com/Qihoo360/Atlas/releases yum -y install gcc make ncur ...
- K米--案例分析
第三次作业- -K米软件评测 第一部分 调研.评测 评测: 下载并使用.描述最简单直观的个人第一次上手体验: 第一次下载打开.这个简介粗矿的界面让偶着实吓了一跳.界面设计的有板有眼.直接了当.就像是在 ...
- Win10 Theano Install Guide
basic install guide 1. download miniconda 2. conda install libpython mingw 3. conda install theano n ...
- Objective-C复合
正所谓复合,便是定义的这个类中的成员是另外类的实例方法. 也就是把其他对象作为自身的题部分,以提升自身的功能, 就相当于C语言中的函数嵌套.下面是一段代码(多个文件放在一块了): /***Comput ...
- (翻译)如何对python dict 类型按键(keys)或值(values)排序
如何对dict类型按键(keys)排序(Python 2.4 或更高版本): mydict = {'carl':40, 'alan':2, 'bob':1, 'danny':3} for key in ...
- cocos2d 2.2.6 win7下的配置
我搭建cocos2.6的开发环境需要安装工具包括: 1.Visual Studio 2012(由于不兼容win7,需要安装Update 4)和虚拟光驱daemon tool,虚拟光驱的下载地址:htt ...
- INADDR_ANY
INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”.“任意地址”. 一般来说,在各个系统中均定义成为0值. 外文名 INADDR_ANY 别 名 所有 ...
- Runner站立会议01
开会时间:9.10-9.30 地点:二教 今天做了什么:学了文本输入,button按钮,界面转换(意图) 遇到什么困难:界面转换时,出现问题,没有正常跳转 明天打所作什么:解决今天遇到的问题,学了第二 ...
- Spring MVC学习笔记——JSR303介绍及最佳实践
JSR 303 – Bean Validation 是一个数据验证的规范,2009 年 11 月确定最终方案.2009 年 12 月 Java EE 6 发布,Bean Validation 作为一个 ...
- Java——Swing事件处理
import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.JFrame; ...