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


猜你喜欢
- 前言hello,大家好,学习一段时间了,学习了框架和后台的内容,为了防止前端的js和jq的熟练度不够,忘记很多算法和基础用法,会陆陆续续更新
- Expression定义 IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和Javascript表达式关联起来,这
- 今天闲来无聊无意间看到了百度股票,就想着用python爬一下数据,于是就找到了东方财经网,结合这两个网站,写了一个小爬虫,数据保存在文件中,
- 今天在工作时遇见了某些代码需要延时操作的情况。具体情况为前台grid在执行完增删改操作后需要在增加或者修改弹框点击确定导致弹框消失后,gri
- 本文实例讲述了Python实现迭代时使用索引的方法。分享给大家供大家参考,具体如下:索引迭代Python中,迭代永远是取出元素本身,而非元素
- 一、概述MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值(long_query_time,单位
- 爬虫与发爬虫的厮杀,一方为了拿到数据,一方为了防止爬虫拿到数据,谁是最后的赢家?重新理解爬虫中的一些概念爬虫:自动获取网站数据的程序反爬虫:
- 很多时候,我们需要实时的绘制曲线,如实时的绘制串口接收到的数据。最先想到的解决策略是类似于Matlab种的drawnow函数。在python
- 我们已经在数学上描述了多层感知机,现在让我们尝试自己实现一个多层感知机。为了与我们之前使用softmax回归获得的结果进行比较,我们将继续使
- 本文实例总结了PHP图像处理技术。分享给大家供大家参考,具体如下:1、绘图场景: 验证码、图像水印、图像压缩处理php绘图坐标体系是从0,0
- 最终效果如下图,右侧灰边看相对位置,版权所有谨防假冒:去年曾针对有时间先后的翻页记录了思考片段。之后没来得及调整一直是默认和插件并用,虽然难
- 前言时值毕业季,有不少小伙伴深受论文查重的困扰。因此我便想到做一个简单的自动去重的工具,先看看效果,我们再对原理或是代码实现做进一步的分析。
- 先给大家介绍下Python除法之传统除法、Floor除法及真除法python3.0 /总是执行真除法,不管操作数的类型,都返回浮点数结果(即
- 1、如何去掉字符串中不需要的字符?实际案例:(1)过滤掉用户输入前后多余的空白字符:' nick2008@gmail.com
- function siblings(o){//参数o就是想取谁的兄弟节点,就把那个元素传进去 var a=[];//定义一个数组,用来存o的
- 在之前的文章中,我们介绍了PyQt5和PySide2中主窗口控件MainWindow的使用、窗口控件的4中基础布局管理。从本篇开始,我们来了
- 1.定义aiohttp 是一个基于 asyncio 的异步 HTTP 网络模块,它既提供了服务端,又提供了客户端2.基本使用import a
- 本文实例讲述了python连接远程ftp服务器并列出目录下文件的方法。分享给大家供大家参考。具体如下:这段python代码用到了pysftp
- 今天我们说一下使用python将word内容转换成html文件。下面一起来看一下。准备工作使用python类库PyDocX,安装方法(使用p
- 开启慢查询日志在项目中我们会经常遇到慢查询,当我们遇到慢查询的时候一般都要开启慢查询日志,并且分析慢查询日志,找到慢sql,然后用expla