利用百度AI简单实验人脸检测

首先我们需要打开百度AI,
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
我们需要复制API Key 和Secret Key

在这里插入图片描述
在这里插入图片描述
复制代码进行修改
在这里插入图片描述
修改后的代码,得到access_token

import requests
import json
 client_id 为官网获取的AK, client_secret 为官网获取的SK
request_url= 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=官网获取的AK&client_secret=官网获取的SK'
headers={'Content-Type':'application/json;charset=UTF-8'}
content=requests.post(url=request_url,headers=headers)
res=content.text
res1=json.loads(res)
print(res1['access_token'])

结果:
24.2d3185345af00ae03ccfd479ec62971a.2592000.1570674919.282335-17195933
这就是我们想要的access_token

复制属性分析的代码
在这里插入图片描述
人脸检测与属性分析
修改后的代码

def index(request):
    module_dir = os.path.dirname(__file__)  # 获取当前目录
    file_path = os.path.join(module_dir,'sy.jpg')  #将获取好的路径与图片合并,以便打开图片文件或者使用相对路径历来读取
    #base64译码图片文件
    with open(file_path, 'rb') as f:
        base64_data = base64.b64encode(f.read())
    s = base64_data.decode()
    #请求地址
    request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect"
    #添加请求参数
    params = {
        'image': s,
        'image_type': 'BASE64',
        'face_field': 'age,glasses,beauty,gender,race,landmark150' #可以参考文档添加你想要的的参数,
    }
    headers = {'Content-Type': 'application/json;charset=UTF-8'}
                    #这里记得headers的修改符号,否则会报'set' abject has no attribute 'items'
    access_token = '24.2d3185345af00ae03ccfd479ec62971a.2592000.1570674919.282335-17195933'
    request_url = request_url + "?access_token=" + access_token
    content = requests.post(url=request_url, headers=headers, data=params)
    result = json.loads(content.text)['result']['face_list'][0]
    xy = result['landmark150']
    #为图片描点
    image = cv2.imread('./jiance/sy.jpg')   #读取文件使用相对路径
    for point in xy:
        x = int(xy[point]['x'])
        y = int(xy[point]['y'])
        cv2.circle(image, (x, y), 1, (0, 255, 0), 4)  
    cv2.imwrite('./static/a.jpg', image)
    age = result['age']
    beauty = result['beauty']
    gender_type = result['gender']['type']
    gender_pt = result['gender']["probability"]
    race_type = result['race']['type']
    rece_pt = result['race']["probability"]
    gt=''
    if gender_type=='female':
        gt='女性'
    else:
        gt='男性'
    gp=str(gender_pt*100)+'%'
    rt=''
    if race_type=='yellow':
        rt='黄种人'
    elif race_type=='white':
        rt='白种人'
    elif race_type=='black':
        rt='黑种人'
    elif race_type=='arabs':
        rt='阿拉伯人'
    else:
        pass
    rp = str(gender_pt * 100) + '%'
    return render(request,'index.html',locals())

模板代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<img src="/static/a.jpg" alt="" width="400px"> <br>
年龄:{{ age }} <br>
颜值分:{{ beauty }} <br>
性别:{{ gt }} <br>
性别可信度:{{ gp }} <br>
肤色:{{ rt }} <br>
肤色可信度:{{ rp }} <br>

</body>
</html>

展示结果:
在这里插入图片描述

补充:
这里在是用cv2之前要先安装使用
pip install opencv - python
但是提前还需要安装c++环境,否则会出现超市的问题
下载地址:
https://www.microsoft.com/zh-CN/download/details.aspx?id=48145

在这里插入图片描述
根据自己的电脑进行选择下载
在这里插入图片描述
下载玩进行安装即可在进行命令操作:

pip install opencv - python
会得到下图就成功:
在这里插入图片描述
这样cv2才可以使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值