tensorflow环境下dlib安装---五行代码实现人脸识别

关于dlib安装:

1.安装vs2017,配置cl

tensorflow环境下dlib安装---五行代码实现人脸识别_第1张图片

vs2017安装好C++和NET桌面开发吧,保险一点两个选上。如果事先没安装好tensorflow, python开发不用勾上,装上反而可能会冲突。我用的anaconda2018.12版本(2019.03安装dlib失败了),python3.7.3,vs2017里面勾了python开发会自动安装python3.6.6

 

VS装好了后,要将 cl.exe 的路径加入到环境变量。找到文件Hostx64下的x64和x86都存在cl.exe(每个人安装路径不一样),加入环境变量。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64

cmd打开命令提示符,输入cl , 见到如下截图说明cl配置正常了。

tensorflow环境下dlib安装---五行代码实现人脸识别_第2张图片

2.配置Cmake.

一开始按照直接在网上https://cmake.org/download/下载 cmake-3.15.0-rc3-win64-x64.msi 直接安装,最后dlib出现问题,可能是版本原因。

所以后来改用pip install cmake  安装 cmake 插件,它给我自动安装了cmake-3.14.

安装在tensorflow目录下。(因为我最终是在这个环境下实现人脸识别。

找到G:\Anaconda\anaconda201812\envs\tensorflow\Lib\site-packages\cmake\data\bin

放入环境变量。(只要是你安装的cmake的bin文件夹就可以,路径因安装位置不同有所不同)。

tensorflow环境下dlib安装---五行代码实现人脸识别_第3张图片

cmd输入 cmake见到如下 显示 说明 cmake安装成功了。

tensorflow环境下dlib安装---五行代码实现人脸识别_第4张图片

3. http://www.boost.org/下载boost

我下载的是1.70.0版本。

将下载的boost解压,然后运行bootstrap.bat文件(如果cl.exe配置没问题的话)就会生成b2.exe、bjam.exe以及project-config.jam,

tensorflow环境下dlib安装---五行代码实现人脸识别_第5张图片

然后当前目录命令行运行 b2.exe ,双击就可以。(这个过程要等待很长时间才能完成,耐心点~大约要2小时。)

然后漫长的等待之后 执行 b2 -a --with-python address-model=64 toolset=msvc runtime-link=static  (注意with前面是两个短横线,第一次安装会出现这个步骤,我后面安装几次都没有这个步骤了。

将安装已完成后的boost 文件加路径加入到环境变量。

4.下载dlib。

源码 http://dlib.net/files/ ,我下载了两个版本的dlib-19.17(安装失败了) 和dlib-19.14.

cd 到 dlib 目录下 运行命令  python setup.py install 等待安装完成 。

我安装的dlib19.17表面上成功了,运行一下import dlib也没问题,关键是接着打开tensorflow环境就不见了,python被自动降级了,所有环境下的包也都不见了。可能是因为版本不兼容的问题,也有可能是因为我事先安装了python3.7,导致tensorflow出现问题。 但后来改用dlib-19.14成功了,成功截图如下。

tensorflow环境下dlib安装---五行代码实现人脸识别_第6张图片

这个图是19.17安装成功,但后面出问题了。

19.14安装成功也是显示这个图。

 

5.当然这个时候还是不能用的,还需要两个步骤。

第一,将 安装完成后的目录下的三个如下截图文件夹 复制到tensorflow\Lib目录下面:

tensorflow环境下dlib安装---五行代码实现人脸识别_第7张图片

第二,将dlib安装路径G:\Anaconda\dlib-19.14\build\lib.win-amd64-3.7下的 截图所示文件。复制到tensorflo\DLLs目录下。

接下来,已经完全安装完毕。可在tensorflow环境下调用dlib包了。

import tensorflow as tf

import dlib

detector=dlib.get_frontal_face_detector()

参考博客:https://blog.csdn.net/zhang475546259/article/details/84104368

 

你可能感兴趣的:(dlib,人脸识别,tensorflow)