01 资源
OpenCV自带的人脸识别demo,opencv\samples\cpp\facial_features.cpp。facial_features.cpp采用Haar级联方式做人脸面部特征提取。这个demo可以识别图片中的人脸、眼睛、鼻子、嘴。
demo使用了如下资源:
opencv/samples/data/lena.jpg
opencv/data/haarcascades/haarcascade_frontalface_alt2.xml
opencv/data/haarcascades/haarcascade_eye.xml
opencv_contrib/modules/face/data/cascades/haarcascade_mcs_nose.xml
opencv_contrib/modules/face/data/cascades/haarcascade_mcs_mouth.xml
资源的github链接:
lena.jpg
haarcascade_frontalface_alt2.xml
haarcascade_eye.xml
haarcascade_mcs_nose.xml
haarcascade_mcs_mouth.xml
02 编译facial_features
参考opencv01 相对完整的编译opencv3.3.0 win版本,编译opencv3.3.0 vs2015版本。
把facial_features.cpp中的如下2行代码修改如下:
// 修改下面两行为直接获取命令行参数
//input_image_path = parser.get<string>(0);
//face_cascade_path = parser.get<string>(1);
input_image_path = argv[1];
face_cascade_path = argv[2];
生成文件: D:\git\opencv\build\v3.3.0\x64\bin\Debug\cpp-example-facial_features.exe
03 facial_features项目配置
设置facial_features项目为启动项。
配置属性==>调试==>命令参数=../../../../../samples/data/lena.jpg ../../../../../data/haarcascades/haarcascade_frontalface_alt2.xml -eyes=../../../../../data/haarcascades/haarcascade_eye.xml -nose=../../../../../../opencv_contrib/modules/face/data/cascades/haarcascade_mcs_nose.xml -mouth=../../../../../../opencv_contrib/modules/face/data/cascades/haarcascade_mcs_mouth.xml--nested-cascade=../../../../../data/haarcascades/haarcascade_eye_tree_eyeglasses.xml --scale=1.3 ../../../../../samples/data/lena.jpg
配置属性==>调试==>工作目录=$(OutDir)