Opencv CascadeClassifier的maxSize参数::detectMultiScale无效
我正在使用haar Cascade分类器对视频流执行行人检测,我正试图通过减少检测范围来优化代码,这得益于Opencv CascadeClassifier的maxSize参数::detectMultiScale无效,opencv,Opencv,我正在使用haar Cascade分类器对视频流执行行人检测,我正试图通过减少检测范围来优化代码,这得益于detectMutliScale函数中的参数minSize和maxSize: fullbodyCascade.detectMultiScale(image, found_pedestrian, 1.1, 3, 0, Size(20,60), Size(50,100)); 似乎只有minSize参数被考虑在内,而仍在检测大于maxSize的对象 有人遇到过这个问题吗 提前谢谢你的帮助 Ilo
detectMutliScale
函数中的参数minSize
和maxSize
:
fullbodyCascade.detectMultiScale(image, found_pedestrian, 1.1, 3, 0, Size(20,60), Size(50,100));
似乎只有minSize
参数被考虑在内,而仍在检测大于maxSize
的对象
有人遇到过这个问题吗
提前谢谢你的帮助
Ilou我使用的haar级联分类器是一个旧格式文件,与此格式相关的函数似乎没有考虑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;
}
if(winSize.width
可能有一种更聪明的方法来解决这个问题(使用标志…?),但无论如何,它现在可以正常工作。我使用的haar Cascade分类器是一个旧格式文件,与此格式相关的函数似乎没有考虑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;
}
if(winSize.width
可能有一种更聪明的方法来解决这个问题(使用标志…?),但不管怎样,它现在可以正常工作了