码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 使用Python比较两张人脸图像并获得准确度


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

    一、原理

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

    二、128 种面部编码

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

    三、实现

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

    1. pip install opencv-python
    2. 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

    1. import cv2
    2. import face_recognition
    3. def find_face_encodings(image_path):
    4. # reading image
    5. image = cv2.imread(image_path)
    6. # get face encodings from the image
    7. face_enc = face_recognition.face_encodings(image)
    8. # return face encodings
    9. return face_enc[0]
    10. # getting face encodings for first image
    11. image_1 = find_face_encodings("image_1.jpg")
    12. # getting face encodings for second image
    13. image_2 = find_face_encodings("image_2.jpg")

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

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

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

    1. # checking both images are same
    2. is_same = face_recognition.compare_faces([image_1], image_2)[0]
    3. print(f"Is Same: {is_same}")
    4. if is_same:
    5. # finding the distance level between images
    6. distance = face_recognition.face_distance([image_1], image_2)
    7. distance = round(distance[0] * 100)
    8. # calcuating accuracy level between images
    9. accuracy = 100 - round(distance)
    10. print("The images are same")
    11. print(f"Accuracy Level: {accuracy}%")
    12. else:
    13. print("The images are not same")

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

  • 相关阅读:
    Go语言的GoFrame+Vue+ElementUI开源框架推荐
    SpringMVC
    java计算机毕业设计好物网站MyBatis+系统+LW文档+源码+调试部署
    免费的运维监控系统PIGOSS BS基础版,欢迎下载使用
    Android笔记(一): Android活动组件的创建和配置
    Linux 下使用 Docker 安装 Redis
    java计算机毕业设计幼儿早教系统软件设计与实现MyBatis+系统+LW文档+源码+调试部署
    同行评议论文怎么写
    【C++进阶:多态】多态的构成条件 | 虚函数的重写 | 抽象类 | 多态的原理 | 多继承的虚函数表
    HACCP认证的流程
  • 原文地址:https://blog.csdn.net/m0_73776435/article/details/138044682
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号