百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python实现人脸识别(50行代码包会)

off999 2024-10-20 08:08 33 浏览 0 评论

一、安装windows c++,cmake,dlib,face_recognition

1. 安装visualStudio, visualStudio 结果不对的,至少要选上C++开发环境;


3. pip安装的下载地址超级慢会出现报错的情况,换成国内阿里镜像(可换为国内其他镜像),下载就很快,命令:

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple

4. 安装 pip install cmake ----->安装完成


5. 接下来,我们安装dlib库,运行命令 Pip installed dlib,结果不带顺利,报错了,需要我们把pip升级到19.2.1的版本才能继续安装 (pip 19.2.1以下版本可能存在安装不成功的可能性)

升级pip,运行cmd命令,打开控制台,输入python -m pip install --upgrade pip


安装 dlib 命令: pip install dlib 该安装比较慢且占用cpu 较高


6.安装face_recognition, 命令:pip install face_recognition 安装提示安装完成 则表示已成功安装face_recognition,安装过程曲折,终于大功告成。

二、人脸识别代码

原理很简单,人脸特征在计算机是用数字来存储,叫人脸特征向量,这些数据记录人脸的长,高,肤色等等,根据这些特征通过face_recognition库从图片中获取,通过矩阵二范数运行计算出相似度,又我们自定义个阈值,在这个阈值上的相似度,代码两张图片为一个人

1.获取人脸特征向量

#获取人脸库特征向量

def getFaceEncoding(src):

image = face_recognition.load_image_file(src)

face_locations = face_recognition.face_locations(image)

face_encoding = face_recognition.face_encodings(image, face_locations)[0]

return face_encoding

2.计算相似度

xl1=getFaceEncoding(imgSrc1)

xl2=getFaceEncoding(imgSrc7)

#人脸对比,tolerance相似度阈值

match_results = face_recognition.compare_faces([xl1], xl2, tolerance=0.7)

完整代码

import cv2

import face_recognition

import numpy as np

imgSrc1="C:/1.jpg"

imgSrc2="C:/2.jpg"

imgSrc3="C:/3.jpg"

imgSrc4="C:/4.jpg"

imgSrc5="C:/5.jpg"

imgSrc6="C:/6.jpg"

imgSrc7="C:/7.jpg"

#打开图片检测人脸

def openImg(src):

image = face_recognition.load_image_file(src)

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()

face_encoding = face_recognition.face_encodings(image, face_locations)[0]

print(face_encoding)

#获取人脸库特征向量

def getFaceEncoding(src):

image = face_recognition.load_image_file(src)

face_locations = face_recognition.face_locations(image)

face_encoding = face_recognition.face_encodings(image, face_locations)[0]

return face_encoding

#计算两张图片的相似度,范围:[0,1]

def simcos(A,B):

A=np.array(A)

B=np.array(B)

dist = np.linalg.norm(A - B) # 二范数

sim = 1.0 / (1.0 + dist) #

return sim

if __name__ == '__main__':

xl1=getFaceEncoding(imgSrc1)

xl2=getFaceEncoding(imgSrc7)

#人脸对比,tolerance相似度阈值

match_results = face_recognition.compare_faces([xl1], xl2, tolerance=0.7)

# 测试两张图像中人脸比对的差值(不相似度)

face_distances = face_recognition.face_distance([xl1], xl2)

i=simcos(xl1,xl2)

if i>0.7:

print(True)

else:

print(False)

#openImg(imgSrc3)

官网:http://www.sykjwh.cn

qq技术交流群:855531299

项目地址:https://gitee.com/shangyakejiwenhua/sykj

相关推荐

电脑开机反复启动不起来(电脑开机反复重启开不了机怎么办)

1、先关闭主机总电源,电脑先关机吧,打开机箱,将内存条插槽两边的白色专卡口轻向下按,使内存条属弹出插槽。?2、取出内存条后,用干净的橡皮擦擦拭金手指或者用吹风机吹一吹。?3、然后将内存条对准插槽的卡口...

win10家庭版转专业版密钥(windows10家庭版升级到专业版密钥)

家庭版升级专业版密钥,需要付费购买获取不可以,家庭版密钥只是电脑还原时有效,重装系统就没有用了,可以看下面的方法。我是在淘宝买过几个不同系统的密钥都很好用,1-10元都买过,您进入搜索您需要系统的密钥...

安卓镜像下载(安卓镜像下载官网)

vmwareiso镜像文件可以从VMware官网下载。具体的下载步骤如下:1.打开VMware官网,进入产品下载页面。2.在产品下载页面,选择需要下载的VMware产品,比如VMwareWork...

哪个品牌u盘最可靠(哪个品牌的u盘好用)

十大耐用云U盘排行分别是:第一名闪迪第二名雷克沙第三名金士顿第四名三星第五名美商海盗船第六名东芝第七名惠普第八名威刚第九名台电第十名朗科。  质量最稳定u盘是金士顿:全球存储产品领导品牌,全球规模最大...

windows11系统怎么样(win11使用怎么样)

免激活的WindowS11系统很好用,所谓的免激活,并不是不激活,而是在安装的过程当中已经进行了激活,如果激活码是正规渠道获得的,那么就可以被微软所认可,这样的系统在今后的升级或者是打补丁的过程当中...

打印机如何网络共享打印(打印机网络共享打印怎么设置)

想要建立打印机共享使用的方法如下1右击【计算机】选择【管理】,在弹出的【计算机管理】窗口中:系统工具->本地用户和组->用户,在右边找到【Guest】双击进去,把账户已禁用的勾选去掉。2回...

电脑开机蓝屏怎么修复0x0000007b
  • 电脑开机蓝屏怎么修复0x0000007b
  • 电脑开机蓝屏怎么修复0x0000007b
  • 电脑开机蓝屏怎么修复0x0000007b
  • 电脑开机蓝屏怎么修复0x0000007b
联想售后维修服务地址(联想售后维修 电话)

官方网站:http://www.lenovo.com.cn/作为全球电脑市场的领导企业,联想从事开发、制造并销售可靠的、安全易用的技术产品及优质专业的服务,帮助全球客户和合作伙伴取得成功。联想公司主要...

华硕系统(华硕系统恢复)

华硕电脑安装的是微软公司的windows系统。一般的华硕电脑出厂的时候安装的都是微软的操作系统,不会安装安卓或者苹果的操作系统。安卓的操作系统一般都是安装在手机上面的,苹果的操作系统都是安装在苹果手机...

wifi强力破解软件排名(wife强力破解软件)

目前我还沒发现有可以破解WiFi密码的软件,有可能有,但这是违法的,所以开发者不可能在网上发布的。有很多人说万能钥匙,其实万能钥匙不是破解WiFi密码,而是密码共享,也就是说一台手机上安装万能钥匙,有...

电脑回收站怎么找出来(电脑回收站到哪里找)

1、打开电脑来到桌面,在空白的地方单击右键,在跳出来的属性中选择个性化。2、点击更改桌面图片,然后会跳出一个桌面图标设置,对桌面上固有图标的更改。3、在桌面图标设置中你可以看到回收站前面未勾选,勾选了...

windows xp电脑公司特别版(正版windows xp)

1、请看下你的游戏说明,是否需要最新版本的显卡驱动支持,如果需要,请将你的显卡驱动升级到最新版。另外,Win7系统内置了很多显卡驱动程序,所以很多计算机在安装完操作系统后都不需要再安装显卡驱动,但是还...

win7怎么设置定时关机命令(windows7设置定时关机)

1、点击屏幕左下方的开始菜单,点运行,输入cmd,  2、弹出一个黑色的框,在里面输入shutdown-f-s-t3600,记住后面这几个字母要加空格,这里面的3600代表的是3600秒,比如...

windows7恢复出厂设置后账户停用

1、重新开机或电脑重启的过程中,也就是在出现品牌Logo的时候,连续按F8进入安全模式,选择带命令行的安全模式。 2、管理员身份打开的命令提示符窗口,输入并回车执行:compmgmt.msc命令。3...

随身wifi每月怎么交钱(随身wifi是怎么交费的)

需要看具体的随身wifi服务商和套餐类型。一般来说,续费可以通过以下途径实现:1.网上续费:登录随身wifi服务商的官网,找到相应的续费渠道,选择套餐并支付即可;2.APP续费:下载随身wifi...

取消回复欢迎 发表评论: