人脸识别库face_recognition安装简单教程_安装face_recognition-程序员宅基地

技术标签: Ubuntu  python  ubuntu  face_recogniition  Python  

face_recognition是一款免费、开源、实时、离线的Python人脸识别库。Github网址为https://github.com/ageitgey/face_recognition。如安装Anaconda可直接跳到第二步,dlib会自动获取。

Windows系统安装dlib可直接在网站https://pypi.org/simple/dlib/  下载对应版本的whl文件,用pip安装,简单高效。

1.安装dlib

安装face_recognition需要首先安装dlib。看网上教程需要编译dlib库,感觉比较麻烦。这里使用conda安装dlib。这anaconda.org上搜索到dlib19.9版本的安装命令为 conda install -c menpo dlib

 由于ubuntu系统没有安装conda,因此需要安装,通过pip方式安装conda会提示问题,也会提示去下载miniconda,下载对应系统的版本,我这里下载了Miniconda2-latest-Linux-x86_64.sh。复制到home目录下,这终端中输入命令安装

sh Miniconda2-latest-Linux-x86_64.sh

安装完成后重启终端并输入如下命令切换镜像

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

其次再输入安装dlib的命令即 conda install -c menpo dlib。等待一段时间完成安装dlib,网速越好下载越快等待时间越短。

 conda install -c menpo dlib 

2.安装 face_recognition

安装完dlib后安装face_recognition,命令如下,这次等待的时间需要几十分钟。

pip install face_recognition

3.安装完成

4.试用

(1)从本地读图片并使用face_recognition和opencv识别人脸并标注显示

#读取照片并圈出人脸
import numpy as np
import cv2
import face_recognition
image = face_recognition.load_image_file("mypic.jpg")
#return (A,B,C,D)(top, right, bottom, left) (D,A,B,C)
face_locations = face_recognition.face_locations(image)
print(face_locations)
image1=image*1
image1[:,:,0]=image[:,:,2]
image1[:,:,2]=image[:,:,0]
for (A,B,C,D) in face_locations:
    cv2.rectangle(image1,(D,A),(B,C),(0,255,0),2)
cv2.imshow('image',image1)
cv2.waitKey(0)
cv2.destroyAllWindows()

图片来源网络,侵删

 (2)从摄像头读取图像并显示

#摄像头读取并识别人脸
import numpy as np
import cv2

import face_recognition
cap=cv2.VideoCapture(0)
while True:
    ret,frame=cap.read()

#return (A,B,C,D)(top, right, bottom, left) (D,A,B,C)
    face_locations = face_recognition.face_locations(frame)

    for (A,B,C,D) in face_locations:
        cv2.rectangle(frame,(D,A),(B,C),(0,255,0),2)
    cv2.imshow('image',frame)
    if cv2.waitKey(1)& 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

(3)人脸比对

#人脸比对,单对单的比对,和多对单的比对
import numpy as np
import cv2
import face_recognition
zhujun=face_recognition.face_encodings(face_recognition.load_image_file('zhujun.jpg'))
dongqing=face_recognition.face_encodings(face_recognition.load_image_file('dongqing.jpg'))
#ss=face_recognition.compare_faces([dongqing,lisisi],zhujun)
#hezhao=face_recognition.face_encodings(face_recognition.load_image_file('mypic.jpg'))
#ss=face_recognition.compare_faces(hezhao,lisisi,0.5)
hezhao=face_recognition.load_image_file('mypic.jpg')

locations=face_recognition.face_locations(hezhao)
for [A,B,C,D] in locations:
    face=hezhao[A:C,D:B,:]
    faceencoding=face_recognition.face_encodings(face)
    ss=face_recognition.compare_faces(faceencoding,zhujun[0],0.5)
    print(ss)

输出结果,compare_faces的第三个参数越小表示要求的精度更高

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40450867/article/details/81734815

智能推荐

ARM开发环境下载地址大全_arm gcc 下载-程序员宅基地

文章浏览阅读2.6k次,点赞3次,收藏10次。arm gcc工具链下载简介_arm gcc 下载

【前端】【HTML】基础知识_html的-程序员宅基地

文章浏览阅读3.6k次,点赞6次,收藏42次。HTML指的是超文本语言,它是用来描述网页的的一种语言。HTML不是编程语言,而是一种标记语言。标记语言是一套标记标签。_html的

python实现树结构的json文件_python实现树形结构的json文件-程序员宅基地

文章浏览阅读1.8k次。需求:在做树形可视化图形时,需要相应的json文件为树形结构。本例为将所有IP进行一个统计,合并同类项,之后根据IP的四个字段分为四层。第一层为第一个字段,第二层为第二个字段,以此类推,总共四层。数据格式类似下图:image.png实现思路:1.将IP统计后的结果以dataframe的数据结构存储;2.定义两种节点:非叶子节点:node={"name":"","children":[]}叶子节点:..._树图展开json文件 python

力扣[LeetCode].1. 两数之和_力扣主函数-程序员宅基地

文章浏览阅读210次。class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int,int> heap; //新建一个哈希表,把每一个数值映射为他的下标 for(int i=0;i<nums.size();i++){ //遍历每个数 int r = t._力扣主函数

CRNN英文字符识别代码运行测试 | 论文理解 | 【OCR】_crnn在线测试-程序员宅基地

文章浏览阅读438次。CRNN 英文识别 代码运行测试环境搭建运行过程如下所测试代码https://github.com/meijieru/crnn.pytorch环境搭建参照: requirements.txt 文件lmdb==0.97numpy==1.17.2Pillow==6.1.0six==1.12.0torch==1.2.0torchvision==0.4.0一个普通的 pytorch1.2 环境搭建操作,实测 安装 torch1.4 一样可以运行:conda create_crnn在线测试

戴尔惠普华硕笔记本Fn键反了,按F1、F2等键出来Fn+F1、F2的效果_hp笔记本的fn倒置了-程序员宅基地

文章浏览阅读3.2k次。惠普笔记本,几天按f12调试的时候,笔记本直接睡眠了,试验了一番发现Fn键反了按F12等键出来Fn+F2的效果,按F1到F12等键出来Fn+F1到F12的效果。在网上寻找一番答案发现是是fn键被锁住了。找到键盘上的一个Fnlock(缩写FnLk)或Numlock键,然后按Fn+Fnlock/Numlock解锁参考文章:https://jingyan.baidu.com/article/ff4..._hp笔记本的fn倒置了

随便推点

不堪回首的青春回忆,用群晖NAS网络存储记住吧_群晖可以备份qq聊天记录吗-程序员宅基地

文章浏览阅读786次。青春是热血、朝气、尴尬等等名词的汇聚,对于90后来说非主流、大头贴等一堆不堪回首的记忆充满了我们的记忆。往往这些记忆都保存在了放着DJ等非主流音乐的空间中,永远封锁只对自己开放。随着QQ也开通了账号注销功能,保存在QQ空间的数据也不是永远存在了。虽然这是一段我们不堪回首的青春记忆,虽然现在最年轻的00后都已经19岁了,青春的世界不再属于90后了。但是回忆还是要存储下来的,可是值得90后回忆的不仅..._群晖可以备份qq聊天记录吗

private和public_class public和private-程序员宅基地

文章浏览阅读2.7k次。一、结构体/类的定义和实现分离,代码可读性更强(非必须)//xxx.h头文件struct Test{ int x; int y; int z; void Init(int x,int y,int z); void Function1(); void Function2(); void Function3();}//xxx.cpp#include<stdio.h>#include"structure.h"void Test::Init(int x, int y, _class public和private

php 上传图片 缩略图,PHP 图片上传类 缩略图-程序员宅基地

文章浏览阅读70次。/*** 上传图片*/class imgUpload{static protected $a;protected $formName; //表单名称protected $directory; //文件上传至目录protected $maxSize; //最大文件上传大小protected $canUpload; //是否可以上..._php上传图片 缩略图

scrapy爬虫框架_3.6.1 scrapy 的版本-程序员宅基地

文章浏览阅读737次。入门案例class QuotesSpider(scrapy.Spider): name = 'quotes' start_urls = [ 'http://quotes.toscrape.com/tag/humor/', ] def parse(self, response): for quote in response.css('div.quote'): yield { 'aut_3.6.1 scrapy 的版本

微信支付——统一下单——java_小程序统一下单接口-程序员宅基地

文章浏览阅读625次,点赞10次,收藏10次。这边是用户购买vip的一个支付代码,使用统一下单,主要是jsapi支付。_小程序统一下单接口

(已解决)报错 ValueError: Tensor conversion requested dtype float32 for Tensor with dtype resource-程序员宅基地

文章浏览阅读4.7k次,点赞3次,收藏2次。tensorflow 1.14 里自带的 layer 与 keras layer 数据类型冲突的问题。_valueerror: tensor conversion requested dtype float32 for tensor with dtype

推荐文章

热门文章

相关标签