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

 更新时间:2019年05月03日 16:54:02   投稿:WDC  
今天为大家介绍下face recognition在Windows系统上安装与使用,但在Windows平台上face recognition性能会有所下降

实际上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,即可看到效果。

相关文章

  • 使用gunicorn部署django项目的问题

    使用gunicorn部署django项目的问题

    这篇文章主要介绍了使用gunicorn部署django项目,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Python判断变量是否已经定义的方法

    Python判断变量是否已经定义的方法

    这篇文章主要介绍了Python判断变量是否已经定义的方法,非常实用的方法,需要的朋友可以参考下
    2014-08-08
  • python通过matplotlib生成复合饼图

    python通过matplotlib生成复合饼图

    这篇文章主要介绍了python通过matplotlib生成复合饼图,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Python+Matplotlib绘制3D图像的示例详解

    Python+Matplotlib绘制3D图像的示例详解

    这篇文章主要为大家介绍了如何使用python matplotlib绘制绘制出一系列酷炫的3D图像,例如:3D散点图,3D曲线图等,感兴趣的可以了解一下
    2022-04-04
  • Python IDLE清空窗口的实例

    Python IDLE清空窗口的实例

    今天小编就为大家分享一篇Python IDLE清空窗口的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 在MAC上搭建python数据分析开发环境

    在MAC上搭建python数据分析开发环境

    这篇文章主要介绍了在MAC上搭建python数据分析开发环境的相关资料,需要的朋友可以参考下
    2016-01-01
  • python实现可逆简单的加密算法

    python实现可逆简单的加密算法

    这篇文章主要为大家详细介绍了python实现可逆简单的加密算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • 关于fastapi异步框架操作的理解

    关于fastapi异步框架操作的理解

    这篇文章主要介绍了关于fastapi异步框架的操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • django2.2 和 PyMySQL版本兼容问题

    django2.2 和 PyMySQL版本兼容问题

    这篇文章主要介绍了django2.2 和 PyMySQL版本兼容问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Python使用pymssql连接SQL SEVER数据库全流程

    Python使用pymssql连接SQL SEVER数据库全流程

    SQL Server是微软推出的重量级的数据库,目前有多个版本,如2000、2008、2012等,下面这篇文章主要给大家介绍了关于Python使用pymssql连接SQL SEVER数据库的相关资料,需要的朋友可以参考下
    2023-12-12

最新评论