颜色聚合向量(CCV)

前端之家收集整理的这篇文章主要介绍了颜色聚合向量(CCV)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、CCV的主要思想[1]

针对颜色直方图和颜色矩无法表达图像色彩的空间位置的缺点,Pass[9]提出了图像的颜色聚合向量(color coherence vector)。它是颜色直方图的一种演变,其核心思想是将属于直方图每一个bin的像素进行分为两部分:如果该bin内的某些像素所占据的连续区域的面积大于给定的阈值,则该区域内的像素作为聚合像素,否则作为非聚合像素。假设αi与βi分别代表直方图的第i个bin中聚合像素和非聚合像素的数量,图像的颜色聚合向量可以表达为<(α1,β1),(α2,β2),…,(αN,βN)>。而<α1+ β1,α2 + β2,αN +βN > 就是该图像的颜色直方图。由于包含了颜色分布的空间信息,颜色聚合向量相比颜色直方图可以达到更好的检索效果

二、CCV的算法流程[2]


三、 举个CCV的小例子

下面这个例子来源于这学期选的多媒体信息检索课程课件,还是举个例子比较清楚。下面按照算法流程讲解如下:

输入数据如图1所示,一共包含36个像素点,则将后面判断是否聚合的阈值设定为4。


图1 输入数据

1、量化

量化其实就是一个降维的过程,使特征更加紧凑。将图1所示输入数据按照均匀量化的原则,数值为10~19的对应1,数值为20~29的对应2,30~39的对应3,即将原来的颜色特征量化为了1、2、3三种颜色。按照这种方法量化后的结果如2图2所示:


图2 量化后的结果


2、划分连通区域

图2所示的数据可以划分成4个连通区域A、B、C、D,如图3所示:


图3 划分的连通区域


3、判断聚合性

对于第2步得到的A、B、C、D四个连通区域分别统计像素数目,如图4所示:


图4 统计连通区域像素数目

然后与之前设定的阈值4做比较,像素数大于4的连通区域中的像素为聚合像素,小于4的连通区域中的像素为非聚合像素,如此可知连通区域A、B中的像素都是聚合像素,而连通区域C、D中的像素为非聚合像素。

然后对于量化的3个颜色1、2、3分别统计其中聚合像素和非聚合像素的数目,如图5所示,其中Color为3时的B应该为1,图中有错误


图5 统计各颜色分量像素聚合情况


4、得到结果

由图5可知该图像的聚合向量为<(17,3),(15,0),(0,1)>,搞定,~`(*∩_∩*)′~。最开始看英文课件看得云里雾里,后来查资料并且最终通过例子真正搞明白了,虽然不难但这个学习的过程还是蛮有成就感的。Over~


参考:

[1] http://www.jb51.cc/article/p-sdxfbuvb-bdy.html

[2] http://www.doc88.com/p-6823991639692.html

猜你在找的设计模式相关文章