开源人脸识别seetaface入门教程(二)
人脸识别教程
编译
由于代码是在windows平台编译的,所以,这地方要做些修改。
1.进入FaceDetection目录
2.修改include/common.h,修改38行
3.修改include/feat/surf_feature_map.h文件,在前面加上#include
4.修改include/util/image_pyramid.h文件,在前面加上#include
5.修改src/feat/surf_feature_map.cpp文件,在前面加上#include
6.增加CMakeLists.txt,内容如下:
7.建立build目录,mkdir build
8.编译,cd build && cmake .. && make
9.当前目录下生成可执行文件
运行
1.执行完make命令以后,当前的目录下会生成一个可执行文件facedet_test
2.由于默认的程序读取的是当前路径下的test_image.jpg和seeta_fd_frontal_v1.0.bin,test_image.jpg是人脸图片,seeta_fd_frontal_v1.0是识别的引擎。
3.确保以上的两个文件在当前路径下存在了,既可以./facedet_test运行了。
4.你可以修改位于src/test目录下的文件,来达到自己的目的。
使用
我们可以参考src/test/facedetection_test.cpp这个测试程序,来达到我们人脸识别的目的
1.头文件
opencv头文件主要用来加载图像,face_detection.h是人脸识别的主要程序。
2.加载人脸识别引擎
3.设置最小人脸大小
这个根据实际情况调整,图片中,人脸越大,这个值也越大,因为这个值越小,人脸识别速度越慢。
4.识别图片中的人脸
在这之前,需要对图片进行处理,这里略过
5.输出人脸识别的结果
faces.bbox.x; faces.bbox.y;是人脸的左上角坐标。faces.bbox.width;faces.bbox.height;是人脸的长和宽。