【问题标题】:OpenCV Haar Classifier ThresholdOpenCV Haar 分类器阈值
【发布时间】:2012-06-25 00:52:54
【问题描述】:

我正在尝试理解 oepncv XML haar 分类器,它看起来像这样:

      <_>
      <!-- tree 0 -->
      <_>
        <!-- root node -->
        <feature>
          <rects>
            <_>3 7 14 4 -1.</_>
            <_>3 9 14 2 2.</_></rects>
          <tilted>0</tilted></feature>
        <threshold>4.0141958743333817e-003</threshold>
        <left_val>0.0337941907346249</left_val>
        <right_val>0.8378106951713562</right_val></_></_>

正如原论文中提到的,阈值应该与一个特征(整体图像)的总和进行比较。但是,图像的像素值应为 0 - 255(灰度图像)。一个特征的总和怎么会那么小(例如,在这个特征中,阈值是 0.004014...)?你们能给我一些理解的方向吗?

感谢您的帮助!

【问题讨论】:

  • 可能重复 [OpenCv Haar 函数创建的 XML 中的内容。 ](stackoverflow.com/questions/11018145/…)
  • 我的问题更具体,仅通过查看文件不会轻易找到答案。但是无论如何谢谢!

标签: c++ opencv object-detection


【解决方案1】:

这个问题已经解决了。 opencv 团队为实现该算法而发表的论文中提到,他们实际上使用以下等式对像素进行了归一化:

Pixel = (Pixel_old - average)/(2*sigma)

像素是每个像素的归一化值, Pixel_old 是原始整数值 (0-255) average 是检测窗口的平均值(应该是20*20的窗口) sigma 是 20*20 窗口中像素的标准差。

【讨论】:

    猜你喜欢
    • 2015-01-14
    • 1970-01-01
    • 2012-03-02
    • 2013-01-20
    • 2014-06-02
    • 2016-05-09
    • 2011-08-04
    • 2012-08-17
    相关资源
    最近更新 更多