脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python实现人脸识别的详细图文教程

Python实现人脸识别的详细图文教程

2022-08-23 23:28轻松学Python Python

人脸识别是人工智能的一个重要应用,下面这篇文章主要给大家介绍了关于Python实现人脸识别的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下

叨叨几句

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

先问大家一个问题

什么是百度Aip模块?

百度AI平台提供了很多的API接口供开发者快速的调用运用在项目中

本文写的是使用百度AI的在线接口SDK模块(baidu-aip)进行实现人脸识别

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

 

准备工作

本机环境

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

安装baidu-aip模块

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

Python实现人脸识别的详细图文教程

执行安装百度AI模块

pip install baidu-aip

Python实现人脸识别的详细图文教程

登录百度AI平台创建应用

打开百度AI平台 进行登录

在控制台中找到人脸识别

Python实现人脸识别的详细图文教程

按自己要求创建应用

Python实现人脸识别的详细图文教程

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

Python实现人脸识别的详细图文教程

记下值 等等会用到

AppID:10000000
API Key:xxxxxxxxxxxxxxxxxxxxxxxx
Secret Key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

 

代码流程

导入baidu-aip模块

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

from aip import AipFace

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

APP_ID = "10000000"
API_KEY = "xxxxxxxxxxxxxxxxxxxxxxxx"
SECRET_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

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

client = AipFace(APP_ID, API_KEY, SECRET_KEY)

创建人脸检测函数

def face_detect(image):
    result = client.detect(image, image_type="BASE64")
    print(result)
    return result

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

将图片转为BASE64格式

导入base64包

import base64

将图片打开为 BASE64格式

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

def imageToBase64(imagePath):
    with open(imagePath, "rb") as f:
        image = base64.b64encode(f.read())
        return str(image, encoding="utf-8")

打开图片进行检测

先准备一张图片pic1.jpg

Python实现人脸识别的详细图文教程

调用函数

face_detect(imageToBase64("pic1.jpg"))

提示调用成功:

Python实现人脸识别的详细图文教程

遇到的问题

运行时候提示:

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

Python实现人脸识别的详细图文教程

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

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings

Python实现人脸识别的详细图文教程

把ProxyEnable的值改为0

Python实现人脸识别的详细图文教程

再运行即可

延伸出使用其他功能

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

def face_match(image1, image2):
    result = client.match([
    {
        "image": image1,
        "image_type": "BASE64",
    },
    {
        "image": image2,
        "image_type": "BASE64",
    }
   ])
    print(result)
    return result

人脸搜索

def face_search(image,group_id_list):
    result = client.search(image, image_type="BASE64",group_id_list=group_id_list)
    print(result)
    return result

APP_ID API_KEY SECRET_KEY 需要修改为自己的

 

总结

到此这篇关于Python实现人脸识别的文章就介绍到这了,更多相关Python人脸识别内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/ooowwq/article/details/126405913

延伸 · 阅读

精彩推荐