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

作者:WDC 时间:2023-07-27 02:51:29 

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

来源:https://blog.csdn.net/wyc12306/article/details/79286361

标签:face,recognition
0
投稿

猜你喜欢

  • 浅析location.href跨窗口调用函数

    2024-04-17 09:41:37
  • Javascript Worker子线程代码实例

    2024-04-17 09:46:16
  • PHP的mysqli_stat()函数讲解

    2023-06-12 08:11:33
  • Python接口测试环境搭建过程详解

    2021-08-31 16:12:52
  • 如何把一个Excel文件放到ASP页面中去?

    2009-11-07 17:54:00
  • TIOBE编程语言排行榜前20的语言入门书籍推荐

    2023-04-05 12:19:48
  • python使用Pycharm创建一个Django项目

    2023-11-01 22:33:13
  • 详解Python手写数字识别模型的构建与使用

    2023-10-21 18:34:12
  • 如何写一个通用的JavaScript效果库!(2/2)

    2024-04-10 11:02:22
  • python数据库操作常用功能使用详解(创建表/插入数据/获取数据)

    2024-01-25 20:06:36
  • python海龟绘图之画国旗实例代码

    2022-03-06 14:57:23
  • python绘制三维图的详细新手教程

    2022-03-19 14:23:52
  • DedeCMS 5.7 sp1远程文件包含漏洞(CVE-2015-4553)

    2022-05-31 17:37:05
  • 详解Python读取配置文件模块ConfigParser

    2022-02-25 09:05:23
  • Python简单格式化时间的方法【strftime函数】

    2023-03-29 11:30:16
  • JS中ESModule和commonjs介绍及使用区别

    2023-10-20 22:23:51
  • Oracle关于时间/日期的操作

    2009-02-26 10:37:00
  • Python中性能分析利器pyinstrument详细讲解

    2021-02-15 10:46:51
  • 详解如何使用beego orm在postgres中存储图片

    2024-04-25 15:14:46
  • Python深度学习之Unet 语义分割模型(Keras)

    2022-10-18 13:30:15
  • asp之家 网络编程 m.aspxhome.com