Opencv calcHist 和 calcBackProject 用简单的英语

信息处理 图像处理 opencv 直方图
2021-12-26 10:48:14

因为我想学习图像处理,所以我开始尝试使用 c++ 和 opencv。

现在,我的第一个练习是使用calcHistcalcBackProject创建一个皮肤检测器

但我不明白一些事情:

  • 后备项目的统计解释,以及为什么叫“后备项目”
  • 我对范围参数的含义有很好的理解calcBackProject但我真的被calcHist函数中的范围参数所困扰。
  • 为了获得更高的检测精度,我认为在更多级别使用背投影可能是一件好事:在 rgb 的每个通道中,在 hsv 的每个通道中。但我不知道如何结合calcBackProjectrgb 和 hsv 不同通道的不同结果。

而且我认为我的理解不好是由于缺乏我用这两种方法所做的理论(见第一点)。所以请用简单的英语解释我。

1个回答

请参阅openCV 教程中的什么是反投影

图像直方图测量图像中像素的颜色(和亮度)分布。

如果您拍摄图像并识别感兴趣的区域,例如。一只手,并计算该对象中像素的直方图。

然后获取该直方图和第二张图像,并从本质上反转该过程 - 您选择第二张图像中与第一张直方图匹配的像素。正是这个逆向过程赋予了它反向投影的名称。

然后,您假设第二张图像中与第一张图像中的对象具有相同颜色分​​布的图像区域是相同(或相似)对象的图像。