首页 > 编程知识 正文

python实现人脸识别考勤,人脸识别Python

时间:2023-05-06 21:14:08 阅读:266414 作者:645

文章目录 叨叨几句准备工作代码流程

叨叨几句

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

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

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

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

准备工作

本机环境

系统win11
Python版本3.9.7
编辑器VS2022

安装baidu-aip模块

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

执行安装百度AI模块

pip install baidu-aip

登录百度AI平台创建应用

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

按自己要求创建应用

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

记下值 等等会用到

AppID10000000API KeyxxxxxxxxxxxxxxxxxxxxxxxxSecret Keyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 代码流程

导入baidu-aip模块

打开VS2022VSCode PyCharm Sypder等同理创建一个py文件
输入

from aip import AipFace

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

APP_ID 10000000API_KEY xxxxxxxxxxxxxxxxxxxxxxxxSECRET_KEY xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

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

client AipFace(APP_ID, API_KEY, SECRET_KEY)

创建人脸检测函数

def face_detect(image): result client.detect(image, image_typeBASE64) 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, encodingutf-8)

打开图片进行检测

先准备一张图片pic1.jpg

调用函数

face_detect(imageToBase64(pic1.jpg))

提示调用成功

遇到的问题

运行时候提示

requests.exceptions.ProxyError: HTTPSConnectionPool(hostaip.baidubce.com, port443)

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

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings

把ProxyEnable的值改为0

再运行即可

延伸出使用其他功能

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

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_typeBASE64,group_id_listgroup_id_list) print(result) return result

APP_ID API_KEY SECRET_KEY 需要修改为自己的

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

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

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。