图像的颜色直方图可以用于图像检索,适应有相同色彩,并且可以有平移、缩放、旋转不变性的图像检索,当然了这三大特点不如sift或者surf稳定性强,此外最大的局限就是如果形状内容一样,但色彩不一,结果是搜不到的。不过它在某些情况下达到较好的结果。
颜色直方图两种计算方式:
彩色图像的颜色直方图,这里可以有两种处理方式,得到的效果应该差不多。
首先第一种就是对像素的每个通道都进行划分,每个通道的最大像素值为255,可以等分8、16或者64等分,这样每个通道的范围就是0~15(以16等分为例,当然等分越小,像素值取的范围越大,越精确,但图像维数就越大,消耗时间复杂度大)。这样三通道得到图像维数就是16*16*16=4096维(从[0,0,0]一直到[15,15,15])。代码中我们使用了得到其下标操作为i+(j<<4)+(k<<8)就等于i+j*16+k*16*16。比如一个像素为[4,1,20],那么就会有hist[4+1*16+20*16*16]++;
第二种方法是单独计算每个通道像素值的个数,比如一个像素点值为[4,1,20],那么就有bhist[4] ++;ghist[1]++; rhist[20]++;这样就得到3个256维的一维向量,然后可以做叠加操作。
距离的度量
距离的度量通常有欧式距离、皮尔逊相关系数及余弦距离。但是这里百度百科上说在做直方图相似性度量时,巴氏距离效果最佳。我这里做了简单测试,发现欧式距离的确效果很差,这可能的原因比如当