python简易人脸识别

使用python进行简易的人脸识别

需要用到的库:face_recognition,os,operator
需要安装的库:dlib,cmake,boost 等

import  face_recognition
import os
import operator
#第一部分:得到工作目录中的图片名称
picture_path="#图片路径#"#需要识别的图片所在的文件夹路径
all_folds=os.listdir(picture_path)
count=0;
new_list=[]#用于储存图片名称
#将图片名称存在容器中
for file in all_folds:
    if operator.contains(file,".jpg")|operator.contains(file,".png"):
        count=count+1;
        new_list.append(file)
        #由于unknown.jpg 需要在最后,所以在循环中先要将其删除
        if operator.contains(file,"unknown.jpg"):
            new_list.remove(file)
print(new_list)
new_list.append("unknown.jpg")
print("图片已导入")
#告知:未知图片路径需要在最后输入才能保证运算结果的正确性
list=[]
#第二部分:将识别到的图片放入储存器
for i in new_list:
    photo_imagine=face_recognition.load_image_file(i)
    list.append(photo_imagine)
print("图片数据分析完成")
list2=[]#用于识别人脸分析计算结果,成功识别的放入储存器,如有图片未识别,结束程序
for i in list:
    if (len(face_recognition.face_encodings(i)) <= 0):
        print("未识别到人脸")
        success=False
        break
    else:
        print("人脸已被识别")
        success=True
        face_exam=face_recognition.face_encodings(i)[0]
        list2.append(face_exam)
#第四部分:比较数据得出结果
if success == True:
    n=len(list2)
    known_faces=list2[0:n-1]
    unknown_face_exam=list2[n-1]#未知图片信息存放在最后一处
    results2=face_recognition.compare_faces(known_faces,unknown_face_exam)
    t=0;
    while t<=n-2:
        i=int(t+1);
        string1="第"+str(i)+"张照片";
        string2=("与未知照片中的人物相同吗? {}".format(results2[t]))
        print(string1+string2)
        t=t+1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值