使用Python比较两张人脸图像并获得准确度

使用 Python、OpenCV 和人脸识别模块比较两张图像并获得这些图像之间的准确度水平。

一、原理

使用Face Recognition python 模块来获取两张图像的128 个面部编码,并比较这些编码。比较结果返回 True 或 False。如果结果为True ,那么两个图像将是相同的。如果是False,则两个图像将不相同。

二、128 种面部编码

仅当比较结果返回 True 值时,才会打印准确度级别。

三、实现

首先在conda中或终端安装需要的模块

pip install opencv-python
pip install face-recognition

安装后导入模块

创建一个名为 find_face_encodings(image_path) 的新函数,它获取图像位置(路径)并返回 128 个面部编码,这在比较图像时非常有用。

find_face_encodings(image_path) 函数将使用 OpenCV 模块,从我们作为参数传递的路径中读取图像,然后返回使用 face_recognition 模块中的 face_encodings() 函数获得的 128 个人脸编码。使用两个不同的图像路径调用 find_face_encodings(image_path) 函数,并将其存储在两个不同的变量中,image_1和image_2

import cv2
import face_recognition
def find_face_encodings(image_path):# reading imageimage = cv2.imread(image_path)# get face encodings from the imageface_enc = face_recognition.face_encodings(image)# return face encodingsreturn face_enc[0]
# getting face encodings for first image
image_1 = find_face_encodings("image_1.jpg")# getting face encodings for second image
image_2  = find_face_encodings("image_2.jpg")

现在,我们可以使用编码执行比较和查找这些图像的准确性等操作。

  • 比较将通过使用 face_recognition 中的 compare_faces() 函数来完成。

  • 通过找到 100 和 face_distance 之间的差异来确定准确性。

# checking both images are same
is_same = face_recognition.compare_faces([image_1], image_2)[0]
print(f"Is Same: {is_same}")
if is_same:# finding the distance level between imagesdistance = face_recognition.face_distance([image_1], image_2)distance = round(distance[0] * 100)# calcuating accuracy level between imagesaccuracy = 100 - round(distance)print("The images are same")print(f"Accuracy Level: {accuracy}%")
else:print("The images are not same")

参考链接:https://blog.csdn.net/woshicver/article/details/12860789

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/637564.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024团体程序设计天梯赛L1-104 九宫格

题目链接L1-104 九宫格 #include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int n, mapp[10][10], a[10]; int dx[10]{0, 1, 1, 1, 4, 4, 4, 7, 7, 7}; int dy[10]{0, 1, 4, 7, 1, 4, 7, 1, 4, 7}; b…

2、关于数据库事务那些事

目录 1、什么是事务&#xff1f; 2、介绍下数据库事务&#xff1f; 3、并发事务会带来什么问题&#xff1f; 3.1、不可重复读和幻读有什么区别&#xff1f; 4、数据库隔离级别有哪几种&#xff1f; 5、MySQL默认使用隔离级别是啥&#xff1f; 6、如何控制并发事务&#…

山东大学操作系统实验一(Linux虚拟机实现)

目录 实验题目 实验要求 示例程序 主程序 头文件 重点代码解析 一、main函数的参数 参数介绍 参数输入方式 本块代码 二、信号处理 本块代码 原理介绍 实现效果 三、kill函数 功能介绍 使用方式 本块代码 四、头文件处理 本块代码 代码作用 实验程序 …

2024团体程序设计天梯赛L1-103 整数的持续性

题目链接L1-103 整数的持续性 #include<iostream> #include<stdio.h> #include<algorithm> using namespace std; struct node{int x;int d; }p[2000]; bool cmp(node a, node b) {if (a.d b.d) return a.x < b.x;return a.d>b.d; } int cnt, cntt; v…

日期相关的题目

日期相关的题目 1. 计算日期到天数转换2. 日期累加3. 打印日期4. 日期差值 1. 计算日期到天数转换 输出示例: 思路&#xff1a;计算前n-1个月的天数在加上这个月的天数。 #include <iostream> using namespace std;int main() {int year, month, day;cin >> yea…

自学注解----

MainApplication.java SpringBootApplication类就是—主程序类&#xff0c;告诉你这是一个SpringBoot应用 SpringBootConfiguration—就是Configuration&#xff0c;当前一个配置类 EnableAutoConfiguration— AutoConfigurationPackage自动配置包&#xff0c;包含Import导入包…

【ML】用遗传规划进行因子挖掘

【ML】用遗传规划进行因子挖掘 原创 Yud. 2AMquant 2024-04-02 07:30 广东 本文使用deap pkg进行基于遗传算法的因子挖掘。并对代码进行部分修改。 自定义了多个算子如下&#xff0c;同样包括时间序列相关的算子&#xff1a; winsorize(x) kurtdev(df,window) if_then_els…

信号----硬件中断

硬件中断 键盘组合键是向进程发送信号&#xff0c;那么键盘数据是如何输入到内核中&#xff0c;然后变成信号的&#xff1f;这个信号又是由谁发送给进程的&#xff1f; 当键盘被按下&#xff0c;操作系统先知道用户用键盘输入了内容 那么操作系统是如何知道键盘上有内容了&…

模电期末复习(五)集成运算放大电路

集成运算放大电路 5.1 集成放大电路的特点5.2 集成运放的主要技术指标5.3 集成运放的基本组成部分5.3.1 偏置电路5.3.2 差分放大输入级5.3.3 中间级5.3.4 输出级 5.4 集成运放的典型电路5.4.1 双极型集成运放LM741 5.5 各类集成运放的性能特点5.6 集成运放使用中的几个具体问题…

【Linux驱动层】iTOP-RK3568学习之路(三):字符设备驱动框架

一、总体框架图 二、字符设备相关函数 静态申请设备号 register_chrdev_region 函数原型&#xff1a;register_chrdev_region(dev_t from, unsigned count, const char *name) 函数作用&#xff1a;静态申请设备号&#xff0c;可以一次性申请多个连续的号&#xff0c;count指定…

自学网络安全,一般人我劝你还是算了吧

学前寄语&#xff1a;走进网络安全的世界 持之以恒的追求&#xff1a;网络安全不是一朝一夕的学问&#xff0c;对于那些只有三分钟热度的朋友&#xff0c;可能需要重新考虑自己的选择。网络安全需要长期的投入和热情。 独立思考与实践&#xff1a;学习网络安全&#xff0c;光看…

HWOD:计算日期到天数转换

一、知识点 这里所有涉及到的都是公历(阳历) 1、闰年的判断 能被100整除的年份&#xff0c;能被400整除时&#xff0c;闰 不能被100整除的年份&#xff0c;能被4整除时&#xff0c;闰 2、一年有多少天 一年有12个月&#xff0c;这12个月分3类 第一类&#xff1a;大月&am…