dlib 人脸识别库编译

本文档详细介绍了如何在Linux环境下编译dlib 19.4版本的人脸识别库。首先,修改example文件夹中的CMakeLists,设置库源文件、添加依赖库路径和名称。接着,调整myfacedetect.cpp以适配不同版本的OpenCV,并修复无人脸时的bug。然后,修改人脸识别模型库的绝对路径。最后,在build目录下执行cmake和make命令完成编译。
摘要由CSDN通过智能技术生成

编译的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);之前

</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值