实际上face_recognition这个项目尤其是dlib更适用于Linux系统。经过我的测试,在性能方面,编译同样规格的项目,这个工具在Windows 10 上大约是Ubuntu上的四分之一。但是在这两者之间我没有看到在其他方面有什么差别。
我使用本教程将这些工具安装到Windows10上,更近的版本也可能正常运行。
- 安装了C/C++ 编译器的Microsoft Visual Studio 2015
- Boost 库,V1.63或者更近的版本
- Python3
- CMake,Windows安装时要将其路径加入环境变量
下载和安装 Scipy 和 numpy+mkl (必须是 mkl 版本),下载链接,注意要基于你的Python版本选择合适的版本下载。
根据你当前的MSVC版本下载对应的 Boost 库(库的源代码或者是二进制release版本),下载链接。
如果下载的是二进制版本则调到第4步,否则按照如下的过程编译 Boost 库:
进入C:\local\boost_1_XX_X(X 代表你当前的Boost版本)提取 Boost 源文件
根据以下格式新建系统变量:
Name: VS140COMNTOOLS
Value: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\ (此处为任何你安装MSVC的路径)
打开Visual Studio 2015自带的开发人员工具类似于“VS2015 开发人员命令提示”,进入 Boost 目录编译 Boost 库:
C:\boost_1_XX_X>bootstrap 这一步执行完之后会自动生成b2.exe文件
C:\boost_1_XX_X>b2 -a –with-python address-model=64 toolset=msvc runtime-link=static 这一步编译需要较长的时间,请耐心等待
4.Boost 库成功编译后,编译生成的文件位于 stage 这个文件夹中。
如果你已经编译了 Boost 请跳过这一步。如果你已经下载了二进制的release版本,则进入Boost目录 C:\local\boost_1_XX_X
获取最新版本的 dlib 包,下载链接
进入 dlib 的目录,打开 cmd ,运行如下的命令编译 dlib
将以下两个参数加入环境变量
BOOST_ROOT=C:\local\boost_X_XX_X
BOOST_LIBRARYDIR=C:\local\boost_X_XX_X\stage\lib
然后再运行如下代码:
python setup.py install –yes USE_AVX_INSTRUCTIONS or python setup.py install –yes
USE_AVX_INSTRUCTIONS –yes DLIB_USE_CUDA
现在你可以使用 import dlib进入Python脚本
你可以使用 pip show dlib查看当前 dlib 的版本
现在你可以使用 pip install face_recognition安装face_recognition
Enjoy!
dlib安装也可以使用:
conda install -c menpo dlib=18.18
其中18.18为dlib的版本号
如果安装成功,运行以下代码就可以正常运行了。
# -*- coding: utf-8 -*- """ Created on Sat Sep 23 21:15:42 2017 @author: Romji """ import face_recognition import cv2 import sys def face_reg(file): # 读取图片并识别人脸 img = face_recognition.load_image_file(file) face_locations = face_recognition.face_locations(img) print(face_locations) # 调用opencv函数显示图片 img = cv2.imread(file) cv2.imshow("原图", img) # 遍历每个人脸,并标注 faceNum = len(face_locations) for i in range(0, faceNum): top = face_locations[i][0] right = face_locations[i][1] bottom = face_locations[i][2] left = face_locations[i][3] start = (left, top) end = (right, bottom) color = (55,255,155) thickness = 3 cv2.rectangle(img, start, end, color, thickness) # 显示识别结果 cv2.imshow("识别", img) cv2.waitKey(0) cv2.destroyAllWindows() if __name__ == '__main__': filename = sys.argv[1] face_reg(filename)
将程序保存为test.py,在程序根目录下保存一张图片进行测试(假设保存的为1.jpg)
进入目录输入python test.py 1.jpg,即可看到效果。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。