对输入图片进行行人检测时由于图片的大小不一样,所以要用到多尺度检测。这里是用hog类的方法detectMultiScale。
函数原型:
HOGDescriptor::detectMultiScale(const GpuMat& img, vector&
found_locations, doublehit_threshold=0, Size win_stride=Size(),
Size padding=Size(), double scale0=1.05, int group_threshold=2)
作用:
该函数表示对输入的图片img进行多尺度行人检测 img为输入待检测的图片;found_locations为检测到目标区域列表;
参数说明:
参数3为程序内部计算为行人目标的阈值,也就是检测到的特征到SVM分类超平面的距离;
参数4为滑动窗口每次移动的距离。它必须是块移动的整数倍;
参数5为图像扩充的大小;
参数6 :scale0为比例系数,即被检测图像每一次被压缩的比例,这个可以从OPENCV的hog.cpp源文件中看出:
for( levels = 0; levels < nlevels; levels++
) { //若待检测图像的尺寸小于检测窗口的尺寸,则停止检测 levelScale.push_back(scale); if( cvRound(img.cols/scale) < winSize.width
|| cvRound(img.rows/scale) < winSize.height
|| scale0 <= 1