opencv 目标检测模块opencv_objdetect中的类 CascadeClassifierImpl 实现了几个重要的方法load()和detectMultiScale()。load()是用来加载训练好的模型的;而detectMultiScale()实现了多尺度检测的过程,它有三重重载:
void detectMultiScale( InputArray image, //输入图像
CV_OUT std::vector<Rect>& objects, // 检测到的目标区域
double scaleFactor = 1.1, // 搜索前后两次窗口大小比例系数
int minNeighbors = 3, int flags = 0, // 候选框邻居的最小个数 及 flag
Size minSize = Size(), //能检测的最小尺寸
Size maxSize = Size() ); //能检测的最大尺寸
void detectMultiScale( InputArray image,
CV_OUT std::vector<Rect>& objects,
CV_OUT std::vector<int>& numDetections,
double scaleFactor=1.1,
int minNeighbors=3, int flags=0,
Size minSize=Size(),
Size maxSize=Size() );
void detectMultiScale( InputArray image,
CV_OUT std::vector<Rect>& objects,
CV_OUT std::vector<int>& rejectLevels, //
CV_OUT std::vector<double>& levelWeights,
double scaleFactor = 1.1,
int minNeighbors = 3, int flags = 0,
Size minSize = Size(),