gpt4 book ai didi

c++ - 如何在 Haar Cascade 分类过程中查看阳性

转载 作者:行者123 更新时间:2023-11-28 07:18:05 25 4
gpt4 key购买 nike

各位,我在 Opencv 中训练了自己的分类器,当我运行它时得到了一些不好的结果。我的目标是使用 Haar 功能作为指导,所以我不想在执行整个级联分类器之后而是在每个步骤中,在每个功能之后查看积极因素。那么,是否可以告诉检测器在该特征处停止,或者我是否必须手动截断包含特征阈值的 xml 文件?谢谢

最佳答案

这是可能的。只需检查 CascadeClassifier::detectMultiScale 是如何工作的。在此函数中,您可以检查 this->data.stages.size(),它会显示级联中有多少个阶段。

特别是 detectMultiScale 调用了 detectSingleScale,然后它调用了 CascadeClassifierInvokeroperator(),我们看到那里int result = classifier->runAt(evaluator, Point(x, y), gypWeight); 行。

因此,如果 result 大于零,这意味着分类成功并经历了所有阶段。否则(如果我没记错的话)结果将等于 -[阶段数] 分类器失败。所以你可以看到准确的阶段分类器未能通过。

此外,如果您使用旧式级联,请注意 detectMultiScale 调用 cvHaarDetectObjectsForROC,而不是 detectSingleScale,但本质上它做同样的事情。

祝你好运。

是的,这意味着您要修改源代码。

关于c++ - 如何在 Haar Cascade 分类过程中查看阳性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19917017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com