Skip to content

Latest commit

 

History

History

20_histogram_comparison

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

比较两个直方图的匹配程度

本节主要有两个任务:

  1. 使用函数cv::compareHist函数获得一个表示两幅直方图匹配程度的数值。
  2. 使用不同的度量方式比较直方图

理论

  1. 为了比较两个直方图,首先我们应该选择一种度量方式d(H1, H2)来表达两个直方图的匹配程度
  2. opencv的函数cv::compareHist实现了这种比较功能,它提供了4种不同的度量来计算匹配程度:
    • 相关性(CV_COMP_CORREL): 计算两个序列的相关性
    • 卡方检验(CV_COMP_CHISQR)
    • 交叉检验(method=CV_COMP_INTERSECT)
    • 巴氏距离(CV_COMP_BHATTACHARYYA)

上述具体计算公式请查看opencv官方教程

代码分析

  1. 加载三张图片,第一张是基本图片,第二张第三张被用来和基本图片比较。需要输入三张图片
  2. 生成一张图片,这张图片是基本图片的下半部分
  3. 将图像空间转成hsv
  4. 计算h-s直方图,并标准化范围,使得可以用于比较它们
  5. 将基本图像的直方图与两个测试图像的直方图、基本图像的下半部分的直方图、基本图像本身的直方图进行比较
  6. 显示比较结果