cv_haar_scale_image在opencv的函数cvhaardetectobjects中做了什么?
答案 0 :(得分:5)
可以进行更多优化。
面部检测实现针对CV_HAAR_SCALE_IMAGE优化,而不是CV_HAAR_DO_CANNY_PRUNING。
因为CV_HAAR_SCALE_IMAGE方法更加DMA(直接内存访问)友好。默认方法(CV_HAAR_DO_CANNY_PRUNING)实现需要随机访问主存储区域。
答案 1 :(得分:4)
标志CV_HAAR_SCALE_IMAGE
告诉算法缩放图像而不是检测器。
答案 2 :(得分:3)
根据EMGU,它是OpenCV的.NET包装器,有时会提供比OpenCV更好的文档,
DO_CANNY_PRUNING
如果已设置,则该功能使用Canny边缘检测器 拒绝一些包含太少或太多边缘的图像区域 因此不能包含搜索到的对象。特定的门槛 调整值以进行面部检测,在这种情况下进行修剪 加快处理速度SCALE_IMAGE
对于使用的每个比例因子,该函数将缩减 图像而不是"缩放"分类器中的要素坐标 级联。目前,该选项只能单独使用,即标志 不能与其他人一起设置FIND_BIGGEST_OBJECT
如果已设置,则函数找到最大值 图像中的对象(如果有)。也就是说,输出序列会 包含一个(或零)元素DO_ROUGH_SEARCH
它应该只在使用时使用 设置了CV_HAAR_FIND_BIGGEST_OBJECT并且min_neighbors> 0.如果是旗帜 设置后,该函数不会查找较小尺寸的候选者 一旦它找到了对象(有足够的邻居候选人) 目前的规模。通常,当min_neighbors被修复时,模式 产生的对象矩形不如常规(或稍大) 单对象模式(flags = CV_HAAR_FIND_BIGGEST_OBJECT),但它很多 更快,达到一个数量级。可以指定更大的min_neighbors值以提高准确性。
答案 3 :(得分:0)
CV_HAAR_DO_CANNY_PRUNING会导致分类器无法跳过没有行的平坦区域