起因是在知乎上看到了一篇不麻烦微信官方了,python20行自动戴帽自动戴帽,觉得非常的有意思,因此自己开始动手尝试。主要用到的是Python人脸识别库face_recognition ,但正如文章所说,它的安装步骤较为复杂,需要安装一系列的依赖库,如boost,cmake,dlib等。本人的编译环境:
- windows 10,Visual Studio 2015 , MSVC 19.00.24215.1 for x86
- Anaconda Python 3.4.3
- boost:1.63.0
- dlib:19.8
WIndows 系统上的安装教程Windows Installation Tutorial,按照其步骤进行操作。本文主要对关键步骤进行一点解释,对存在的坑进行说明。
- Python 需要搭配scipy和numpy+mkl两个Python库, 注意要安装正确的版本,32位和64位要进行区分,这个难度不大,不详细解释。
- cmake。直接去https://cmake.org/下载安装windows版本即可。
- Boost。请浏览http://www.boost.org/,此处需要注意,不要下载最新版本(截至目前为1.66.0)。这是因为使用最新版本的Boost时,后续编译dlib时始终出现could NOT find boost的错误,这个问题困扰了我一整天都无法解决,偶然搜索时发现了一个链接FindBoost: Add support for Boost 1.65.0 and 1.65.1 to CMake 3.9 ,因此推测cmake还未支持最新版的boost,于是下载了1.63.0版本的boost,然后一切顺利。
- dlib。dlib编译的坑在boost的介绍中已经提及,还有一点需要注意,编译时最好打开VS 2015 x64 Native Tools Command Prompt 命令行,避免在编译过程中出现库无法打开的错误,本文编译库需要使用64位,如果是编译32位,则应该选择VS 2015 x86 Native Tools Command Prompt 。
- 最后的大坑。有人指出,dlib本不用自己编译,平白多了无数的bug,浪费了无数的时间。在安装完cmake,编译了Boost后,直接使用:
pip install face_recognition
万事大吉:)
然后可以开心的戴圣诞帽啦!
PS: 如何查看VS C++ 版本?
在cmd 命令行输入:
cl.exe /?