写在前面
首先,不要使用Homebrew
安装,我用brew install dlib
安装后,运行例子提示错误1
2error: "DLIB_NO_GUI_SUPPORT is defined so you can't use the GUI code. Turn DLIB_NO_GUI_SUPPORT off if you want to use it."
error: "Also make sure you have libx11-dev installed on your system"
查询相关资料说是需要安装XQuartz
,可我已经通过brew cask install xquartz
安装了,而且也有人说安装后还是不行,仍然报错,最后发现作者说不要通过Homebrew
安装,因为Homebrew
中所有的dlib
版本默认都设置为不使用X11
,下面是作者在GitHub-Issues回答的原话:1
Don't use homebrew. Whatever copy of dlib is in homebrew is configured to not use X11.
所以需要按照官网提供的教程进行安装。
编译
卸载通过Homebrew
安装的dlib
,命令如下:1
brew uninstall dlib
因为我已经安装了XQuartz
,如果没有安装,还需要通过官网安装包或者brew cast
进行安装。
接下来编译dlib
1
2
3
4
5git clone https://github.com/davisking/dlib.git
cd dlib/examples
mkdir build
cmake ..
cmake --build . --config Release
经过漫长的编译过程后,就可以测试其中的例子了,如人脸关键点检测例子。借助dlib
官网提供的训练好的模型文件,再提供一张带人脸的图片,便可以定位人脸的68
个关键点了。1
./face_landmark_detection_ex shape_predictor_68_face_landmarks.dat faces/2008_002506.jpg
结果如下图所示
官网提供的模型只能定位68
个关键点,不过你可以通过作者给的例子自己训练新的模型。
测试
当然,你也可以在你自己的项目中使用dlib
,CMakeLists.txt
如下
1 | project(hello) |