C++ 为什么OpenCV和#x27;在级联分类器和描述器之间实现detectMultiScale的s尺度变化?

C++ 为什么OpenCV和#x27;在级联分类器和描述器之间实现detectMultiScale的s尺度变化?,c++,opencv,svm,cascade-classifier,C++,Opencv,Svm,Cascade Classifier,我知道OpenCV中detectMultiScale的工作原理,即您有一个图像和一个检测窗口;通过检测窗口扫描图像,并在该特定实例中对窗口中的像素进行特定特征计算,以确定是否发生检测 然而,从OpenCV的文档中可以看出,无论您是否使用 级联分类器;代码可以找到 或者,如果您使用的是HOGDescriptor;代码可以找到 OpenCV的文档说明,级联分类器detectMultiScale使用scaleFactor减小进行检测的图像大小,直到小于检测窗口,而HOGDetector detectM

我知道OpenCV中detectMultiScale的工作原理,即您有一个图像和一个检测窗口;通过检测窗口扫描图像,并在该特定实例中对窗口中的像素进行特定特征计算,以确定是否发生检测

然而,从OpenCV的文档中可以看出,无论您是否使用

级联分类器;代码可以找到

或者,如果您使用的是HOGDescriptor;代码可以找到

OpenCV的文档说明,级联分类器detectMultiScale使用scaleFactor减小进行检测的图像大小,直到小于检测窗口,而HOGDetector detectMultiScale具有比例因子(scale0)这将增加检测窗口,直到它成为检查检测的图像的大小

为什么两者之间有区别?一个实现比另一个好吗

目前,我已经在OpenCV 2.4.8中训练了一个带有HOG特征的级联分类器和一个SVM和HOG特征(HOGDescriptor)


提前感谢

通常,图像大小会减小(效率更高),而不是增加检测器窗口大小。这不适用于Haar分类器,因为它们处理积分图像,所以检测器窗口大小可以轻松增加,性能几乎相同。一般来说,图像减少和检测器增加是可互换的,因此注释/文档可能是错误的。例如,在my hog.cpp中,图像大小减小。在级联分类器中,如果使用除haar分类器(isOldFormatCascade)以外的其他方法,则图像大小会减小。