使用hsv颜色直方图进行图像相似度比对
颜色量化
由于RGB模型不够直观,不符合人类视觉习惯,因此在进行颜色特征提取前,需要将照片从RGB颜色模型转换为更符合人类视觉的HSV模型。在提取颜色特征时,最常用的方法之一为颜色直方图法,但一张图片中出现的颜色一般特别多,导致直方图矢量的维数较高,因此需要对HSV空间进行量化色量化的具体编码如下:
构造二维矩阵L = 9H + 3S + V,这样L中元素的取值范围为0~71,获得L的72bin的直方图作为颜色特征
代码实现
'''获得图像的颜色直方图'''
def colorHist(self, imgHSV):
'''
opencv hsv 范围:
h(0,180)
s(0,255)
v(0,255)
'''
height, width, _ = imgHSV.shape
H = np.zeros((height, width), dtype=np.uint8)
S