本节主要有两个任务:
- 使用函数
cv::compareHist
函数获得一个表示两幅直方图匹配程度的数值。 - 使用不同的度量方式比较直方图
- 为了比较两个直方图,首先我们应该选择一种度量方式
d(H1, H2)
来表达两个直方图的匹配程度 - opencv的函数
cv::compareHist
实现了这种比较功能,它提供了4种不同的度量来计算匹配程度:- 相关性(CV_COMP_CORREL): 计算两个序列的相关性
- 卡方检验(CV_COMP_CHISQR)
- 交叉检验(method=CV_COMP_INTERSECT)
- 巴氏距离(CV_COMP_BHATTACHARYYA)
上述具体计算公式请查看opencv官方教程
- 加载三张图片,第一张是基本图片,第二张第三张被用来和基本图片比较。需要输入三张图片
- 生成一张图片,这张图片是基本图片的下半部分
- 将图像空间转成hsv
- 计算
h-s
直方图,并标准化范围,使得可以用于比较它们 - 将基本图像的直方图与两个测试图像的直方图、基本图像的下半部分的直方图、基本图像本身的直方图进行比较
- 显示比较结果