针对颜色直方图和颜色矩无法表达图像色彩的空间位置的缺点,提出了图像的颜色聚合向量(color coherence vector)。它是颜色直方图的一种演变,其核心思想是将属于直方图每一个bin的像素进行分为两部分:如果该bin内的某些像素所占据的连续区域的面积大于给定的阈值,则该区域内的像素作为聚合像素,否则作为非聚合像素。假设αi与βi分别代表直方图的第i个bin中聚合像素和非聚合像素的数量,图像的颜色聚合向量可以表达为<(α1, β1), (α2, β2), …, (αN, βN)>。而<α1+ β1, α2 + β2, …, αN +βN > 就是该图像的颜色直方图。由于包含了颜色分布的空间信息,颜色聚合向量相比颜色直方图可以达到更好的检索效果。
ccv直方图是基于空间连贯性对图像像素点进行区域分割的一种方法,在一个大小可变的连续区域中,如果一个像素点灰度值与这个区域相似,则此像素点就作为空间连贯像素点。这样CCV直方图通过计算图像中色彩相似区域数目以及每个区域中包含的连贯像素点的数目,来解决传统直方图丢失相似像素点空间位置的问题。
CCV的计算方法:
首先将彩色图像转换为灰度图象(可以通过提取不同的颜色通道来完成),然后将图像轻微模糊化,将图像中的每个像素点用与其邻接的8个像素点的像素均值取代;然后将每个像素点的灰度值离散化,使图像中只有n中不同的灰度色彩,即具有n级,实验中取n=16,将像素点的灰度值量化为16级。
第二步.对每个灰度值,将像素点值等于它的所有像素点分为连通和不连通两部分。一个颜色区域即是一个拥有最大像素点数目的集合C,C中的任意两点都有相同的灰度值并且彼此有路径连通,求出该图像中所有的颜色区域。
第三步根据颜色区域所包含的像素点个数的多少来决定着是否为一个颜色连通区域,只有当该区域所包含的像素点个数大于一个闭值T时则认为该像素区域是一个连通区域,否则为一个非连通区域。经过以上步骤,CCV直方图可以如下表示:灰度值为i的连通像素点数目为ai,非连通像素数目为bi,则一幅图像中CCv直方图表示为(ai+bi....an+bn)。
第五步,对任意两幅图像I和l/,可以用ccv直方图来比较他们的相似性.