本文实例讲述了Python基于OpenCV库Adaboost实现人脸识别功能。分享给大家供大家参考,具体如下:
以前用Matlab写神经网络的面部眼镜识别算法,研究算法逻辑,采集大量训练数据,迭代,计算各感知器的系数。。。相当之麻烦~而现在运用调用pythonOpenCV库Adaboost算法,无需知道算法逻辑,无需进行模型训练,人脸识别变得相当之简单了。
需要用到的库是opencv(open source computer vision),下载安装方式如下:
使用pip install numpy语句安装numpy
(如果出现错误:Microsoft Visual C++ 9.0 is required
opencv2.4.10下载
下载之后解压(随便解压到哪里),将解压目录opencv文件夹中,build->python->2.7->x86下的文件cv2.pyd 复制到python2.7\Lib\site-packages 中
测试是否安装成功,执行解压目录下的sources\samples\python\drawing.py或者进入python环境,使用import cv2
首先讲讲需要用到的新函数:
CascadeClassifier()函数,导入分类器
cv2.CascadeClassifier('xxxxx.xml')
#haarcascade_frontalface_alt.xml脸部识别文件
#haarcascade_eye.xml眼部识别文件
函数的参数是xml完整路径(具体看你的opencv安装在哪里的,在opencv\sources\data\haarcascades下面),xml文件中是封装好的算法
detectMultiScale()函数,进行识别
detectMultiScale