我正在使用 haar 级联分类器对视频流执行行人检测,并且我正在尝试通过参数 minSize
缩小检测范围来优化代码和 maxSize
在detectMutliScale
功能:
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/