ubuntu14.04 + dlib19.2

下载dlib

  • dlib官网这里好像只有最新的dlib版本包,下载选项在左下角有个蓝色的按钮,写着download
  • 如果不想下载最新版本,也可以从github上下载,这里能下到各种版本的dlib,你只需要在branch那一栏点击tag,有一个下拉菜单可以有各种版本的dlib

博主用的还是目前最新的版本19.2,因为最新的dlib版本添加了一些新的人脸检测器,mmod+cnn算法,可以看看dlib的blog

C++编译和使用dlib

如果你是使用的C++,那么很简单,不用安装,直接按照官网的指示(也是在官网首页,左边栏目里有个how to compile,这个指示只是交你怎么快速使用dlib库中的examples),从dlib的根目录执行下面语句即可:

cd examples
mkdir build
cd build
cmake ..
cmake --build . --config Release

这样就可以生成examples文件中的各种执行文件。

如果要自己建立工程,可以仿照dlib/examples/CMakeLists.txt,直接include(dlib/dlib/cmake)文件即可,如下:

cmake_minimum_required(VERSION 2.8.4)

PROJECT(dlib_test)

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O2")

IF(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything")
ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")
ENDIF()

INCLUDE(/home/hpc/Michael/dlib/dlib/cmake)

ADD_EXECUTABLE(dlib_test dlib_test.cpp)
TARGET_LINK_LIBRARIES(dlib_test dlib)

或者如下自己写个CMakeLists.txt包含所用到的文件,但是用这种方法要先在dlib库根目录下编译dlib,即先执行下列操作:

mkdir build
cd build
cmake ..
make release=1

记住以上操作是编译dlib,所以是在dlib的更目录下执行。

cmake_minimum_required(VERSION 2.8.4)

PROJECT(dlib_test)

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O2 -DDLIB_JPEG_SUPPORT")

IF(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything")
ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")
ENDIF()

INCLUDE_DIRECTORIES(/home/hpc/Michael/dlib) #dlib.h
LINK_DIRECTORIES(/home/hpc/Michael/dlib/build/dlib/)

ADD_EXECUTABLE(dlib_test dlib_test.cpp)
TARGET_LINK_LIBRARIES(dlib_test dlib)

python使用

在dlib18.18之前好像挺麻烦的,但是在dlib18.18版本后有setup.py文件,安装方便的多,直接在dlib的根目录下运行如下语句即可:

python setup.py install

但是博主电脑不好使了,我用的是anaconda2,不是系统自带的python,报错说没有权限(大概Permission denied: ‘/usr/local/anaconda2/’是这个错误),当我加上sudo运行后报错,说找不到setuptools的包。

博主安装setuptools包,安装方法按照python官网setuptools安装方法,执行如下语句:

wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python

待setuptools安装完成后,执行

sudo python setup.py install

在尝试运行demo时,即运行 ./face_detector.py ../examples/faces/*.jpg
时,报错 undefined symbol: _ZN4dlib12pixel_traitsINS_9rgb_pixelEE3numE
没找到什么原因,google了一下,dlib作者给出方法(https://github.com/davisking/dlib/issues/389)就是下最新版本的dlib,于是我有从github上 git clone了一个最新的版本。

安装上面方法重新安装,然后运行demo,又可以用了,运行python demo的方法如下:

cd python_examples
python face_detector.py ../examples/faces/*.jpg

当你能看到运行输出结果,说明安装成功了。

当自己新建一个python文件,如我将dlib/python_examples/face_detector.py 拷贝到~/learn_dlib/下,在执行该文件,会显示ImportError: No module named dlib,说明找不到dlib库,这时候可以运行:

sudo ln -s /usr/local/lib/python2.7/dist-packages/dlib-19.2.99-py2.7-linux-x86_64.egg/dlib/dlib.so    /usr/local/anaconda2/lib/python2.7/site-packages/

其中ln -s <源文件> <目标文件>表示将源文件和目标文件建立软连接,因为博主用的是anaconda的python,所以将/usr/local/lib/python2.7/dist-packages/dlib-19.2.99-py2.7-linux-x86_64.egg/dlib/(此路径是用locate dlib.so查找出来的)里的dlib.so文件和anaconda的查找库的路径/usr/local/anaconda2/lib/python2.7/site-packages/建立软连接,这样即可导入dlib库

可以在终端运行:

python

进入python的编译环境,然后输入:

import dlib

查看是否能够顺利导入

鸣谢同学刘老师的指导,和深图智服陈大神的指导,发不了表情让我很纠结。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值