3

我正在尝试理解 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...)?你们能给我一些方向来理解吗?

感谢您的帮助!

4

1 回答 1

5

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

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

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

于 2012-06-26T01:06:06.350 回答