pythonai人脸识别,python+百度ai平台实现人脸识别

python调用百度AI开放平台真的好简单啊,之前试过c++调用,但是配置那三个库已经把我心态搞崩了,尼玛还有两个是嵌套的。所以python大法好。

言归正传,我用的是百度的sdk,对应的看sdk v3的文档就可以了,在python的窗口命令行执行 pip install baidu-aip,然后就可以写代码了。或者直接进入https://ai.baidu.com/sdk 下载对应的SDK,不过这个还要每个月更新token,怪麻烦的。对了忘记说了,我用的是2.7版本的python,也试过3.6的,但是由于版本的升级,可能会报错,所以建议大家直接用2.7的。

直接上代码吧(这里就写了四个函数):

import base64

import json

from aip import AipFace

APP_ID = '你的ID'

API_KEY = '你的key'

SECRET_KEY = '你的sk'

client = AipFace(APP_ID, API_KEY, SECRET_KEY)

def face_detect(filepath1,filepath2): #人脸对比

result = client.match([

{

'image': base64.b64encode(open(failpath1, 'rb').read()),

'image_type': 'BASE64',

},

{

'image': base64.b64encode(open(failpath2, 'rb').read()),

'image_type': 'BASE64',

}

])

print(result) #打印出所有的信息

a=result['result']['score']

print(a) #单独显示出相似度 其他的类似

# if a>80:

# return 1

# else:

# return 0

def face_search(filepath): #人脸库搜索 222207

with open(filepath, 'rb') as fp:

image=base64.b64encode(fp.read())

imageType="BASE64"

groupIdList="你的用户组名称"

result=client.search(image,imageType,groupIdList)

print(result) #打印出所有信息

# print(result['result']['user_list'][0]['score']) #打印出相似度其他信息类似

# print(result['result']['face_token'])

# print(result['error_code'])

def face_add(filepath,unit,num): #人脸库增加 地址 组 用户

with open(filepath,'rb') as fp:

image=image=base64.b64encode(fp.read())

imageType="BASE64"

groupid=unit

userid=num

result=client.addUser(image,imageType,groupid,userid)

if result['error_code']==0:

print("增加人脸成功")

else:

print("增加人脸失败")

# print(result)

def face_delete(filepath): #删除人脸库

userId = "用户名称"

groupId = "用户组名称"

result = client.deleteUser(groupId, userId); #其实这里不用按照官方的demo三个参数 每张照片单独的token不用也可以的!

print(result)

if result['error_code']==0:

print("删除人脸成功")

else:

print("删除人脸失败")

if __name__=='__main__':

# face_detect('你照片的路径','你另一张照片的路径')

# face_search('照片的路径')

# face_delete('照片的路径')

# face_add('照片的路径','用户组名称','用户名称')

写道这里忍不住想吐槽一下,百度AI平台名义上是AI,但是我并没有发现他具体有哪些人工智能,就拿人脸识别来说吧,你不过是在平台上申请了一个账号,然后把照片传上去,调用的时候执行一下他的人脸识别的算法,就这么简单,用的是他训练好的模型。(百度的水很深啊)然后这样就形成了一个良性循环,训练的人脸库越多,识别的准确度越高,百度哪里来的那么多的人脸库呢,我们上传的啊,用完之后我们还感叹,百度平台好方便…

其实呢这里并没有黑百度的意思,也希望百度不要针对我,(嘻嘻嘻)还是鼓励大家认真学习,自己写算法,起码以后会不愁吃饭的。。。

你可能感兴趣的:(pythonai人脸识别)