最近要用dlib来做一下图像处理,放在linux虚拟机里跑的话太慢了,就想着放在Windows环境下跑,不过dlib的依赖还蛮多,配置的过程也蛮让人心累的,不过还好,最后还是成功了:
一、遇到的问题和操作错误:
1、直接在pycharm里pip install dlib。
2、只安装了cmake,安装boost的时候失败。
二、问题的解决和成功运行:
(一)、一定要确保系统里安装了c++编译器,dlib里很多是c++的东西,所以编译的时候要用到。
我安装的是 visual studio 2017,这个网上很多,下载源也有好有坏,自己依情况来,建议是:
注意勾选必要组件:
(二)、安装cmake:
官网下载安装包:https://cmake.org/download/
我下载了win64的msi安装包,注意电脑是64位的就安装64位的安装包。
注意在安装的时候勾选“自动添加路径到环境变量”,或者安装完之后自己手动添加以下路径到path:
(这里的路径以你具体安装的路径为准)
(我在安装结束后,运行还是有问题,发现是VS的问题,VS2008不支持C++11,所以安装了VS2017,但又因为没有卸载 VS2008,导致VS2017安装不全)
(三)boost的下载和安装
我们可以在 boost官网 上下载最新的boost版本。由于boost库可以像标准库一样在多个平台上运行 ,因 此官方上只以源码的形式提供。对于windows用户我们往往想直接下载一个安装组件直接安装而不是自己 编译,我们可以在 这个网站 上直接下载对应的安装组件, 下面我们就以这个网站为例介绍安装组件的下载。
1. 打开网站,其界面显示如下:
2. 目前稳定的版本是1.63因此这里我下载1.63版本。一般正在更新的开源软件都会有一个最新版本和稳定 版本, 如果我们不是在开发的话选择稳定版本即可。选择 *1.63.0* 之后,我们可用看到文件列表如下:
3. 我们可以看到这里有许多的安装文件。这是因为 boost windows的安装版本不但和处理器位数有关, 而 且还和visio studio的版本有关 。这里我们先将 DEPENDENCY_VERSIONS.txt文件下载下来并查看, 可 以发现其中有一段说明如下:
Microsoft Visual Studio 2005 - msvc-8.0 - Service Pack 1
Microsoft Visual Studio 2008 - msvc-9.0 - Service Pack 1
Microsoft Visual Studio 2010 - msvc-10.0 - Service Pack 1
Microsoft Visual Studio 2012 - msvc-11.0 - Update 4
Microsoft Visual Studio 2013 - msvc-12.0 - Update 3
4. 比如这里我们使用的是VS2012。那么我们就应该下载 boost_1_63_0-msvc-11.0-64.exe
或者 boost_1_63_0-msvc-11.0-32.exe
。下载完毕之后根据提示按步骤安装即可
5.在boost的安装目录下:
1)双击bootstrap.bat生成了
2)再在命令中输入b2 install
3)利用b2编译库文件
-- b2 -a --with-python address-model=64 toolset=msvc runtime-link=static
之前你cmake下载的64位这里写64,如果是32位的就把之前的64改成32
4)设置变量
-- set BOOST_ROOT=C:\local\boost_1_63_0
-- set BOOST_LIBRARYDIR=C:\local\boost_1_63_0\stage\lib
(四)、安装dlib
接下来,新开一个cmd,然后进入dlib的目录下:
输入python setup.py install
安装完成(有些地方有点慢,要有耐心)
由于要用到dlib的人脸检测,所以需要下载它的检测器:
三、图像的批量处理:
1、OpenCV的图像读取显示及保存:
cv2.imwrite(文件名,img)保存图像,
cv2.imwrite('messigray.png',img)
2、文件的读取和文件的生成:
3、Python - 判断list是否为空和判断文件是否存在
4、用pycharm编辑代码的时候,ignore一个错误,怎么取消这个ignore:
在settings里选 Editor -> Inspections -> Python -> Unresolved references -> 选中你的 jiee -> 选右边的减号移除 -> Apply -> OK 即可
如果你的顺序不是这样的可以直接在搜索框里搜索Inspections:
四、批量处理的代码:
https://github.com/Qi-Shiloh/GetPicFace
AIEarth是一个由众多领域内专家博主共同打造的学术平台,旨在建设一个拥抱智慧未来的学术殿堂!【平台地址:https://devpress.csdn.net/aiearth】 很高兴认识你!加入我们共同进步!