【A292】Python+Tkinter人脸匹配算法(GUI界面)

2022-05-13 16:37:00      索炜达电子      858     

文件编号:A292

文件大小:9M

开发环境:Python3.8、OpenCV4.5、PyCharm2020

猿创承诺:该项目亲测正常运行,需远程调试部署需另外收费,确保正常使用,不能正常使用全额退款。

简要概述:init_window部分是程序的UI设计部分,然后就是实现图中三个按钮的点击事件,其中“请选择图片”的两个按钮功能一样,都是点击选择文件,并加载到页面上,替换掉首页的图片。

提交按钮实现的就是两张人脸图片比对的逻辑了:

有一个需要注意的地方是:opencv不能加载带中文图片路径,所以程序中用PIL的Image.open()加载图片,并使用Image.save()重新保存一份到自己定义的文件夹,然后还定义了一个resize_img()函数,对过大的图片进行等比例缩放,并保存下来,提高运算的效率。

人脸比对使用了最简单的人脸识别库:face_recogniton,首先通过face_recognition.load_image_file()加载图片,毕竟用了别人的库,就得按照人家的方式进行加载。

然后通过face_recognition.face_encodings()提取人脸的特征,提取出来的是一个128维的向量,最后使用face_recognition.face_distance()计算两个128向量的欧式距离,计算方式如下

【A292】Python+Tkinter人脸匹配算法(GUI界面)

当然这里就不用自己计算了,face_distance()已经帮你实现好了。

人脸比对还有很多其他的方法,比如facenet,arcface。这里框架已经搭好了,剩下的你们可以根据需要去替换自己的算法。

好了,我们来运行一下吧。

python main.py

按需写作:

【A292】Python+Tkinter人脸匹配算法(GUI界面)

演示视频:

【A292】Python+Tkinter人脸匹配算法(GUI界面)

点击查看:系统演示视频

运行界面:

【A292】Python+Tkinter人脸匹配算法(GUI界面)

【A292】Python+Tkinter人脸匹配算法(GUI界面)

远程协助:

温馨提示:索炜达.猿创官方提供收费远程协助,确保您项目运行成功。

点击查看:远程协助相关事项

我们提供完整项目文件清单如下:

文件目录

 ├ 1.项目源码

 ├ 2.运行截图

 └ 3.演示视频

TAG人脸匹配算法
  • 2 次
  • 450 分