服务器之家

服务器之家 > 正文

Python第三方库face_recognition在windows上的安装过程

时间:2021-06-23 00:10     来源/作者:WDC

实际上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的版本号

如果安装成功,运行以下代码就可以正常运行了。

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# -*- 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,即可看到效果。

原文链接:https://blog.csdn.net/wyc12306/article/details/79286361

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部