paper 20 :color moments

图像的颜色特征是很重要的,其中颜色矩也是很重要的一部分。(还有一个关于图像颜色特征的review,对于image color写的比较全面)。还有,我要强调一下,本blog上的链接都是Google学术上的,要是进不去,需要用FQ软件的哦!

颜色矩是一种简单有效的颜色特征表示方法,有一阶矩(均值,mean)、二阶矩(方差,viarance)和三阶矩(斜度,skewness)等,由于颜色信息主要分布于低阶矩中,所以用一阶矩,二阶矩和三阶矩足以表达图像的颜色分布,颜色矩已证明可有效地表示图像中的颜色分布,该方法的优点在于:不需要颜色空间量化,特征向量维数低;但实验发现该方法的检索效率比较低,因而在实际应用中往往用来过滤图像以缩小检索范围。

http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/AV0405/KEEN/av_as2_nkeen.pdf

color moments的定义都在上面的链接里。下面是我今天上午写的程序,欢迎指点,,,,

function [s]=colormoment(img1,img2)
% img1=imread(‘yuan.jpg‘);
R=img1(:,:,1);
G=img1(:,:,2);
B=img1(:,:,3);
% Extract Statistical features
% 1] MEAN
meanR=mean2(R);
meanG=mean2(G);
meanB=mean2(B);
% 2] Standard Deviation
stdR=std2(R);
stdG=std2(G);
stdB=std2(B);
% 3] Skewness
skeR=mean(skewness(double(R)));
skeG=mean(skewness(double(G)));
skeB=mean(skewness(double(B)));

A1=[meanR meanG meanB;stdR stdG stdB;skeR skeG skeB];
%%----------------------------------------------------------------

%%----------------------------------------------------------------
% img2=imread(‘test1.jpg‘);
R=img2(:,:,1);
G=img2(:,:,2);
B=img2(:,:,3);
% Extract Statistical features
% 1] MEAN
meanR=mean2(R);
meanG=mean2(G);
meanB=mean2(B);
% 2] Standard Deviation
stdR=std2(R);
stdG=std2(G);
stdB=std2(B);
% 3] Skewness
skeR=mean(skewness(double(R)));
skeG=mean(skewness(double(G)));
skeB=mean(skewness(double(B)));
A2=[meanR meanG meanB;stdR stdG stdB;skeR skeG skeB];
%%----------------------------------------------------------------
w=[1 2 1;1 2 1;1 2 1];
s=0;
for i=1:3
A=w(i,1).*abs(A1(i,1)-A2(i,1))+w(i,2).*abs(A1(i,2)-A2(i,2))+w(i,3).*abs(A1(i,3)-A2(i,3));
s=A+s;
end

最后的部分有点乱,以后慢慢完善。时间比较紧缺,程序随手写,OK,不写了,将就看吧!

时间: 2024-10-22 13:37:41

paper 20 :color moments的相关文章

编写高质量代码改善C#程序的157个建议——建议20:使用泛型集合代替非泛型集合

建议20:使用泛型集合代替非泛型集合 在建议1中我们知道,如果要让代码高效运行,应该尽量避免装箱和拆箱,以及尽量减少转型.很遗憾,在微软提供给我们的第一代集合类型中没有做到这一点,下面我们看ArrayList这个类的使用情况: ArrayList al=new ArrayList(); al.Add(0); al.Add(1); al.Add("mike"); foreach (var item in al) { Console.WriteLine(item); } 上面这段代码充分演

(20):(行为型模式) Chain Of Responsibility 职责链模式

(20):(行为型模式) Chain Of Responsibility 职责链模式,布布扣,bubuko.com

让你提前认识软件开发(20):如何在C语言里面执行SQL语句?

[文章摘要] 在通信类软件中,程序经常需要与数据库打交道.为了实现诸如从数据库中获取数据.更新数据库表某字段.插入或删除某条数据等功能,就需要在C语言程序中构造一些SQL语句,并用函数来执行这些SQL语句. 本文介绍如何在C语言程序中构造并执行SQL语句,为相关软件开发工作的开展提供了参考. [关键词] SQL语句  C语言  程序  流程  开发 一.为什么要在C语言程序中执行SQL语句? 在C语言程序中执行SQL语句的原因有以下几个: (1) 程序需要获取数据库中某数据表的字段值,并对这些字

Android技术20:Android的初始化流程

Android系统是如何启动的呢,应用程序是如何启动.下面简要介绍下初始化流程. 1.Android系统的初始化 1.1Android系统会首先启动Linux基础系统,然后引导加载Linux内核并启动初始化进程Init Linux Kernel---->Init(pid=1) 1.2启动守护进程Daemons 启动Usb守护进程,管理USB连接 启动Android Debug Bridge守护进程管理ADB连接 启动Debuggerd Debug守护进程 启动无线接口守护进程管理无线通信 1.3

Effective C++:条款20:宁以 pass-by-reference-to-const替换pass-by-value

(一) 调用函数的时候如果传递参数pass-by-value,那么函数参数都是以实际实参的副本为初值,调用端所获得的亦是函数返回值的一个复件. 看下面代码: class Person { public: Person(); virtual ~Person(); private: string name; string address; }; class Student : public Person { public: Student(); ~Student(); private: string

条款20:宁以pass-by-reference-to-const替换pass-by-value

条款20:宁以pass-by-reference-to-const替换pass-by-value 缺省情况下C++是以by value 传递的.其副本是对象本身的copy 构造函数自动调用的. class Persion { private: std::string m_name; std::string m_addr; }; class Student : public Persion { private: std::string m_schoolName; std::string m_sch

实验 20:静态和缺省路由配置(51cto)

实验线路连接图 使用 Cisco Packet Tracer6.0 构建拓扑结构图  RA Router(config)#interface FastEthernet0/0 Router(config-if)#ip address 192.168.10.1 255.255.255.0 Router(config)#interface Serial1/0 Router(config-if)#ip address 192.168.20.1 255.255.255.0 Router(config-if

SCOM 2012知识分享-20:管理用户角色

适应平台:System Center 2012 RTM/SP1 ------------------------------------------------------------------------------------------------------ 在 System Center 2012 – Operations Manager 中,用户角色是用于分配访问监视数据以及执行操作所需的权限的方法. 用户角色旨在应用于用户组,这些用户需要具有对相同监视对象组的访问权限以及对此组执

python基础教程_学习笔记20:标准库:一些最爱——os

标准库:一些最爱 os os模块为你提供了访问多个操作系统服务的功能. os和它的子模块os.path还包括一些用于检查.构造.删除目录和文件的函数,以及一些处理路径的函数. os模块中一些重要函数和变量 函数/变量 描述 environ 对环境变量进行映射 system(command) 在子shell中执行操作系统命令 sep 路径中的分隔符 pathsep 分隔路径的分隔符 linesep 行分隔符('\n','\r','\r\n') urandom(n) 返回n字节的加密强随机数据 os