最近在做opencv的人脸识别,基本熟悉了一下opencv人脸识别的一些流程,现在记下来,方便自己,方便他人。
首先说明一下的我的开发环境:Ubuntu + opencv3.0
opencv中人脸识别的模块集成度已经非常高了,opencv3.0版本中人脸识别的模块已经独立出来放到了opencv_contrib项目中了,需要做人脸识别的还需下载opencv_contrib和opencv一起编译。编译的过程我就省略了,网上有很多教程可以自行搜索。
编译好opencv和附加模块以后,opencv_contrib源码里面的例程里就有人脸识别的例子。
人脸识别的大概过程有:
采集要识别的人脸的照片,尽量只采集人脸的部分,图片尽量小点,尺寸相同,每个人的脸建立一个目录,最后将人脸数据的信息写入一个文件,训练模型时需要读取。该文件写法类似于:
/your_path/s1/1.jpg;0
/your_path/s1/1.jpg;0
/your_path/s1/1.jpg;0
.
.
.
/your_path/s2