编译的dlib版本为19.4, 由于是基于别人的算法移植, 故dlib库文件从别处拷贝过来.
一.
下面开始修改文件, 在example文件夹中, 修改CMakeLists, 原始内容示例编译,暂时无用,故都删除, 只保留包含路径
添加内容如下:
1.为库源文件设定一个变量, 这里库源文件为:myfacedetect.cpp, 所以添加如下语句: set(LIBFACE myfacedetect.cpp)
2.添加依赖库头文件路径: include_directories(/usr/include /home/czy/dlib-19.4/examples) 这里讲当前example的绝对路径也加入, 因为将myfacedetect.h放在了该目录下
3.添加依赖库文件路径: link_directories(/usr/lib/aarch64-linux-gnu)
4.添加依赖库名称: link_libraries(opencv_core opencv_highgui opencv_imgproc dlib::dlib)
5.添加目标编译库:add_library(myfacedetect STATIC ${LIBFACE})
二.
把myfacedetect.cpp拷贝到example文件夹中,由于myfacedetect.cpp是基于opencv3.0编写的,而小机当前使用opencv版本为2.4,所以需要在源码中添加:
typedef Rect_<double> Rect2d; 宏定义;
删除一些不需要的头文件, 只要编译报错的都可以删除.
在opencv不断读取摄像头数据做人脸识别时, 当画面中无人脸时会有bug , 需要在FaceAlignment函数中加入如下代码:
加入位置为 if (result.size() == 0){...}之后, cv::Point Img_center(image.cols*0.5, image.rows*0.5);之前
</