opencv - CascadeClassifier::detectMultiScale 的 maxSize 参数效率不高

标签 opencv

我正在使用 haar 级联分类器对视频流执行行人检测,并且我正在尝试通过参数 minSize 缩小检测范围来优化代码和 maxSizedetectMutliScale功能:

fullbodyCascade.detectMultiScale(image, found_pedestrian, 1.1, 3, 0, Size(20,60), Size(50,100));

似乎 minSize参数是唯一考虑的参数,而对象的大小大于 maxSize仍在检测中。

有人遇到过这个问题吗?

预先感谢您的帮助

我爱

最佳答案

我使用的 haar cascadeclassifier 是一个旧格式文件,与此格式相关的函数似乎没有考虑 maxSize。因此,我通过添加修改了 haar.cpp:

    if( winSize.width > maxSize.width || winSize.height > maxSize.height ) break; 

就在lig之前。 1202:

    if( winSize.width < minSize.width || winSize.height < minSize.height )
    {
            if( findBiggestObject )
                break;
            continue;
    }

可能有更聪明的方法来解决这个问题(使用标志......?)但无论如何,它现在工作正常。

关于opencv - CascadeClassifier::detectMultiScale 的 maxSize 参数效率不高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10548802/

相关文章:

opencv - opencv 的某些功能在某些特定情况下显示错误

c++ - 将 Rob Hess 的 SIFT 库(使用 C 语言,使用 OpenCV)与 C++ 链接

python - 有没有办法在opencv python中获得两个独立轮廓的边界矩形的4个坐标点?

c++ - 如何实现 cv::Mat 对象的循环缓冲区(OpenCV)?

opencv - 如何在运行 Tensorflow 推理 session 之前批处理多个视频帧

java - OpenCV 检测 ROI,创建 submat 并复制到原始 mat

c++ - 什么是本地峰值检测器skimage.feature.peak_local_max的C++实现或类似物?

delphi - 如何将 OpenCV 与 Delphi 的 Unicode 版本一起使用?

python - 在python中旋转图像并去除背景

python - 在python中裁剪视频