赞
踩
对输入图像进行人脸检测,由于输入图片的大小不统一,所以需要进行多维度检测。
detectMultiScale(
const Mat& image,
CV_OUT vector<Rect>& objects,
double scaleFactor = 1.1,
int minNeighbors = 3,
int flags = 0,
Size minSize = Size(),
Size maxSize = Size()
)
1、image为输入的灰度图像。
2、object为被检测物体的矩形框向量组。
3、scaleFactor为每一个图像尺度中的尺度参数,默认值为1.1。scale_factor参数可以决定两个不同大小的窗口扫描之间有多大的跳跃,这个参数设置的大,则意味着计算会变快,但如果窗口错过了某个大小的人脸,则可能丢失物体。简单来说就是前后两次相继的扫描中,搜索窗口的比例系数。1.1表示每次搜索窗口会扩大10%。
4、minNeighbors表示构成检测目标的相邻矩形的最小个数(默认为3个)。如果组成检测目标的小矩形的个数和小于 min_neighbors - 1 都会被排除。如果min_neighbors 为 0, 则函数不做任何操作就返回所有的被检候选矩形框,这种设定值一般用在用户自定义对检测结果的组合程序上。
5、flag参数有几个默认备选参数1、CV_HAAR_DO_CANNY_PRUNING 函数将会使用Canny边缘检测来排除边缘过多或过少的区域。
2、CV_HAAR_SCALE_IMAGE 函数不进行分类器缩放,而是进行缩放图像,按比例正常检测。
3、CV_HAAR_FIND_BIGGEST_OBJECTS 只返回最大目标
4、CV_HAAR_DO_ROUGH_SEARCH 只做粗略检测,即只要第一个候选者被发现则结束寻找6、minSize和maxSize用来限制得到的目标区域的范围。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。