dlib库,怎么在python中安装

Python020

dlib库,怎么在python中安装,第1张

因为这个工程中用到的依赖库比较多,所以索性下载了Anaconda,它是一个python的发行版,包括了python和很多常见的软件库, 和一个包管理器conda,所以安装了Anaconda后就不用再安装python了。

1、下载Anaconda的链接:https://www.continuum.io/downloads

我下载的是对应python2.7 version的64位Anaconda4.2.0,我的电脑系统是win64。

2、现在的问题就转换成如何用Anaconda安装第三方库的问题(Anaconda不包含dlib库),在自己电脑上运行cmd.exe,直接在默认的路径上面执行如下程序即可安装成功:

conda install -c menpo dlib=18.18

3、执行没问题的话,结果应该如上图所示。困扰我好几天的问题终于解决了,走的太多的弯路,不过也是一个学习的过程,希望大家能有所收获吧。

刚刚在 macOS 遇到了类似问题并有了一个解决方案:解决 macOS 下 Python 安装 Dlib 的问题:Cmake 找不到 boost-python

Linux 以及 其他 类 Unix 系统可能都可以参考上面在 macOS High Sierra 下的思路来通过设定 ~/.bashprofile 里面的 CMAKE_PREFIX_PATH 指向 boost 安装路径来解决这个问题。

现在我正在Windows虚拟机里面测试,发现似乎也是 cmake 没有设定 boost 位置导致的。

我尝试一下用类似方法来解决,然后把细节过程截图发上来。

到Python Extension Packages for Windows

下载对应系统版本的 boost python 的 whl:

点击此链接去下载 CMake 安装包

点击此链接去下载 Boost C++ 二进制安装包

下载之后双击运行安装到默认位置;

1 然后到安装目录,找到bootstrap.bat,双击运行;

2 接下来在终端(CMD 或者 Powershell)里面运行:

b2 install --prefix=PREFIX

3 这里的 PREFIX 是一个目录位置,用来安装 Boost.Build;

4 如果安装完成如果没有报错,接下来还在 boost 所在目录 运行

b2 -a --with-python address-model=64 toolset=msvc runtime-link=static

5 如果上一步还是没有报错,接下来吧设置环境变量:

BOOST_ROOT=C:\local\boost_1_65_1

BOOST_LIBRARYDIR=C:\local\boost_1_65_1\stage\lib

上面这些内容部分参考了 BOOST 官方文档的内容:Getting Started on Windows

上述步骤完成之后,使用 pip install dlib 来安装吧.

我自己在 Windows 7 32bit 系统下测到一半提示编译错误,不过能确定的是上面这些步骤都没问题了,算了,我懒得折腾了,以上内容供参考了。

希望大家都安装顺利,另外开发机还是 类 Unix 系统好配置啊。

Dlib is capable of detecting faces in very small areas (80x80 pixels). You are probably sending raw WebCam frames at approximately 1280x720 resolution, which is not necessary. I recommend from my experience to reduce the frames about a quarter of the original resolution. Yes, 320x180 is fine for Dlib. In consequence you will get 4x speed.

·try turning on the compilation optimizations while building Dlib, you will get significantly improvement in speed.

·Dlib works faster with grayscale images. You do not need the color on the webcam frame. You can use OpenCV to convert into grayscale the previously reduced in size frame.

·Dlib takes its time finding faces but is extremely fast finding landmarks on faces. Only if your Webcam provides a high framerate (24-30fps), you could skip some frames because faces normally doesn't move so much.