opencv 人脸识别 第二篇
最近在做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/1.jpg;1
.
.
.
人脸识别的程序:
读取cvs文件的函数;
训练模型:Ptr<BasicFaceRecognizer> model = createFisherFaceRecognizer(); //opencv中人脸识别算法有三种,可以根据需要选择
model->train(images, label);//训练模型
model->save("face_rec.xml");//保存
mode->load();//如果你有训练好的模型,可以直接加载进来
加载人脸数据库(也就是人脸检测的训练模型,opencv源码中有提供)
开启摄像头:VideoCapture cap(deviceId);
取得图象帧,灰度处理,人脸检测,人脸识别
人脸识别的函数:int prediction = model->predict(face_resized);
- 【OpenCV】基于Adaboost和Haar-like特征人脸识别
- 怎样使用OpenCV进行人脸识别 [停止更新]
- opencv人脸识别,瞳孔检测
- Opencv4Android人脸识别之opencv_contrib编译
- OpenCV人脸检测+识别
- OpenCV人脸识别之二:模型训练
- Qt+Caffe+OpenCV——【一个基于VGG网络的人脸识别考勤系统】(一)人脸检测与识别模块
- opencv3之人脸识别匹配
- 基于OpenCV的PHP图像人脸识别技术
- opencv 人脸识别 (二)训练和识别
- opencv2.4.3基于级联分类器的人脸识别
- 人脸识别之读取csv文件(opencv)
- (人脸识别1-2)——ubuntu16.04 安装 opencv 3.1
- Android 人脸识别+人脸匹配(OpenCV+JavaCV)
- OpenCV人脸识别C++源码分析
- android studio导入opencv人脸识别案例的一些报错
- OpenCV实现人脸识别
- 基于 OpenCV 的人脸识别
- opencv 学习之简单人脸识别学习
- opencv人脸识别facedetect的代码注释