python:opencv-三次元人脸检测
python:opencv-三次元人脸检测
使用opencv提供的特征分类器进行检测
-
三次元人脸检测数据集:haarcascade_frontalface_alt2.xml
-
检测步骤
- 打开图片
- 加载特征分类器
- 调用特征分类器中的detectMultiScale函数进行人脸识别
- 根据返回的结果在原图中绘制矩形圈出人脸
代码如下:
1 | import cv2 |
运行结果:
其他人脸识别结果:
detectMultiScale的几个参数
参数1:image–待检测图片,一般为灰度图像加快检测速度;
**参数2:**objects–被检测物体的矩形框向量组;
**参数3:**scaleFactor–表示在前后两次相继的扫描中,搜索窗口的比例系数。默认为1.1即每次搜索窗口依次扩大10%;
**参数4:**minNeighbors–表示构成检测目标的相邻矩形的最小个数(默认为3个)。
- 如果组成检测目标的小矩形的个数和小于 min_neighbors - 1 都会被排除。
- 如果min_neighbors 为 0, 则函数不做任何操作就返回所有的被检候选矩形框,这种设定值一般用在用户自定义对检测结果的组合程序上;
**参数5:**flags–要么使用默认值,要么使用CV_HAAR_DO_CANNY_PRUNING,如果设置为CV_HAAR_DO_CANNY_PRUNING,那么函数将会使用Canny边缘检测来排除边缘过多或过少的区域,因为这些区域通常不会是人脸所在区域;
**参数6、7:**minSize和maxSize用来限制得到的目标区域的范围。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星辰微光的博客!






