我们如何避免不必要的检测

时间:2014-02-22 05:00:03

标签: c++ opencv face-detection

目前我正在通过视频图像进行人脸检测。我能够从视频中检测到面孔。我正在使用Haar级联分类器。 但是它显示了一些不需要的检测,它检测到一些不是面部的区域。

我该怎么做才能避免这种不必要的检测。在我的程序中,我使用的是cvHaarDetectObject()函数。这有什么不对吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

您可以为CascadeClassifier::detectMultiScale设置相应的参数以适合您的目的,即过滤掉不需要的面孔。

在这些参数中,您需要更加关注其中的四个:

  • scaleFactor - 指定每个图像比例缩小图像尺寸的参数。

  • minNeighbors - 参数指定每个候选矩形应保留多少个邻居。

  • minSize - 最小可能的对象大小。小于该值的对象将被忽略。

  • maxSize - 最大可能的对象大小。大于此的对象将被忽略。