码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python实现人脸识别


    文章目录

    • 叨叨几句
    • 准备工作
    • 代码流程

    叨叨几句

    哈喽兄弟们,今天实现一下人脸识别。

    先问大家一个问题
    什么是百度Aip模块?

    百度AI平台提供了很多的API接口供开发者快速的调用运用在项目中
    本文写的是使用百度AI的在线接口SDK模块(baidu-aip)进行实现人脸识别

    除了人脸识别,其他api功能的调用也同理。

    准备工作

    本机环境

    系统:win11
    Python版本:3.9.7
    编辑器:VS2022

    安装baidu-aip模块

    win + R 输入cmd打开命令提示符

    执行安装百度AI模块

    pip install baidu-aip
    
    • 1

    登录百度AI平台创建应用

    打开百度AI平台 进行登录
    在控制台中找到人脸识别

    按自己要求创建应用

    最后得到应用的AppID API Key Secret Key

    记下值 等等会用到

    AppID:10000000
    API Key:xxxxxxxxxxxxxxxxxxxxxxxx
    Secret Key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    
    • 1
    • 2
    • 3

    代码流程

    导入baidu-aip模块

    打开VS2022(VSCode PyCharm Sypder等同理)创建一个py文件
    输入

    from aip import AipFace
    
    • 1

    声明上文获取的AppID API Key Secret Key

    APP_ID = '10000000'
    API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxx'
    SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    
    • 1
    • 2
    • 3

    初始化百度AIP 人脸识别模块

    client = AipFace(APP_ID, API_KEY, SECRET_KEY)
    
    • 1

    创建人脸检测函数

    def face_detect(image):
        result = client.detect(image, image_type='BASE64')
        print(result)
        return result
    
    • 1
    • 2
    • 3
    • 4

    输入的图片image必须是BASE64格式

    将图片转为BASE64格式

    导入base64包

    import base64
    
    • 1

    将图片打开为 BASE64格式

    但是导入到百度AI中需要为字符串格式,所以返回为字符串

    def imageToBase64(imagePath):
        with open(imagePath, 'rb') as f:
            image = base64.b64encode(f.read())
            return str(image, encoding='utf-8')
    
    • 1
    • 2
    • 3
    • 4

    打开图片进行检测

    先准备一张图片pic1.jpg

    调用函数

    face_detect(imageToBase64("pic1.jpg"))
    
    • 1

    提示调用成功:

    遇到的问题

    运行时候提示:

    requests.exceptions.ProxyError: HTTPSConnectionPool(host='aip.baidubce.com', port=443)
    
    • 1

    win + R 输入 regedit打开注册表,找到

    \HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
    
    • 1

    把ProxyEnable的值改为0

    再运行即可

    延伸出使用其他功能

    除了人脸检测还可以使用人脸比、人脸搜索对等函数,调用方法同理,比如人脸比对。

    def face_match(image1, image2):
        result = client.match([
        {
            'image': image1,
            'image_type': 'BASE64',
        },
        {
            'image': image2,
            'image_type': 'BASE64',
        }
       ])
        print(result)
        return result
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    人脸搜索

    def face_search(image,group_id_list):
        result = client.search(image, image_type='BASE64',group_id_list=group_id_list)
        print(result)
        return result
    
    • 1
    • 2
    • 3
    • 4

    APP_ID API_KEY SECRET_KEY 需要修改为自己的

    今天的分享就到这里结束了,完整代码点击下方V-x名片获取。

    推荐一套Python教程,涵盖了常见的一百多个实战案例,每一个都非常详细。

    代码总是学完就忘记?100个爬虫实战项目!让你沉迷学习丨学以致用丨下一个Python大神就是你!

  • 相关阅读:
    echarts 设置legend的样式
    Golang 小数操作之判断几位小数点与四舍五入
    爆赞,阿里P8首次分享出基于Docker的企业级Redis实战开源笔记
    秒杀系统设计(分布式微服务)
    Spark学习(6)-Spark SQL
    SpringMVC+jsp中文乱码问题解决
    2022年高教社杯全国大学生数学建模竞赛-A题:波浪能最大输出功率设计(附MATLAB代码)
    计算机毕业设计 基于协调过滤算法的绿色食品推荐系统的设计与实现 Java实战项目 附源码+文档+视频讲解
    [附源码]SSM计算机毕业设计疫情防控期间人员档案追寻系统设计与实现论文JAVA
    老卫带你学---leetcode刷题(221. 最大正方形)
  • 原文地址:https://blog.csdn.net/ooowwq/article/details/126405913
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号