在 Windows 下,如果需要使用 OpenCV、Dlib、Python3 来进行一些算法开发,整个环境配置起来还是有点麻烦的,摸索了一下,记录一下安装步骤。

  1. 安装 cmake

直接从官方下载一个版本安装即可。

  1. 配置 Boost 开发环境

Boost 的官网下载一个你需要的版本号,对于我这次来说,我下载的是 1.63 版本(需要和第3步里的 Boost Python接口版本号对应上),具体的安装方法可以参看这个教程。简单来说,就是在 Boost 的解压目录里,用下面的命令来编译 Boost 库:

b2 -j8 --toolset=msvc-14.0 address-model=64 --build-type=complete stage

安装好以后,需要设置对应的 Boost 的 Windows 环境变量:

set BOOST_LIBRARYDIR=D:\OpenSource\boost_1_63_0\stage\lib
set BOOST_ROOT=D:\OpenSource\boost_1_63_0
  1. 安装 Python 3.6 版本以及对应的 Numpy、SciPy、OpenCV 等工具库

对于 Windows 下,安装 Python3.6 很简单,从官方下载安装包安装即可。但是对于 Python 依赖的工具包,有的时候,安装起来就会比较麻烦。对于 AI 或是科学计算经常使用的库,比如说 numpy、SciPy 等,最好通过 Unofficial Windows Binaries for Python Extension Packages 下载对应的包来安装。

比如,对于我们的 Windows 和 Python3.6 版本来说,我就选用对应的 64 位版本来进行安装:

numpy-1.13.3+mkl-cp36-cp36m-win_amd64.whl
scipy-1.0.0-cp36-cp36m-win_amd64.whl
opencv_python-3.3.1-cp36-cp36m-win_amd64.wlh
matplotlib-2.1.0-cp36-cp36m-win_amd64.whl
boost_python-1.63-cp36-cp36m-win_amd64.whl

注意看一下 Boost 的版本号需要和第二步里的版本号对应上。

安装的命令很简单,比如说对于 numpy 来说,使用这个命令就可以了:

pip install numpy-1.13.3+mkl-cp36-cp36m-win_amd64.whl
  1. 编译和安装 dlib

下载 dlib-19.7 源代码包解压,再从 cmd 进去,如果上述配置正确的话,应该可以用下面的命令来进行自动编译和安装:

python setup.py install

在这里的时候,我碰到一个问题,因为我的 Windows 是中文版本的系统,所以在运行上述命令的时候,提示了这么一个错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc9 in position 14: invalid continuation byte

这是因为中文操作系统中 cmd 编码为 GBK 而不是 UTF-8 ,从而导致 Python3 编码错误的问题,安装前先修改 setup.py 文件,把第 274行的 sys.stdout.encoding 改成 GBK:

if sys.stdout.encoding:
buf = buf.decode(sys.stdout.encoding) 
buf = buf.decode("gbk")
  1. 安装 dlib Python 扩展包

最后,上述步骤完成后,再用

pip install dlib

来安装 dlib。

上述步骤如果一切正确,现在就可以在 Windows 上正常的使用 dlib 库来做算法分析了。