用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - python代码库

小工具2 人脸识别

2021-12-12 作者: mikeKil举报

[python]代码库

from tkinter import filedialog
import base64
import requests

#图片列表
fileList = []

#选择图片函数
def selectPhoto():
    file = filedialog.askopenfilename(initialdir="C:/", title='Choose an image.')  # 图片路径
    if len(file) > 0:   #判断是否选择图片“0”为取消
        fileList.append(file)
    print("分析中...")

# 调用百度人脸识别接口,获取token值
def getToken():
    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials' \
               '&client_id=zZeG8xxXGQ0L6dvz6K4kqywI&client_secret=zlbT0qtEhcmNFQ54p2FAXcFfu1tELGtM'
    response = requests.get(host)
    content = response.json()
    content = content['access_token']
    return content

#获取人脸识别数据
def getData():
    #1.网络请求地址
    requestUrl = 'https://aip.baidubce.com/rest/2.0/face/v3/detect'
    #2.获取token
    token = getToken()
    params = {'access_token': token}
    #3.加密图片
    for imgUrl in fileList:
        f = open(imgUrl, 'rb')
        temp = f.read()
        image = base64.b64encode(temp)
        # 请求的数据
        data = {
            'image':image,
            'image_type':'BASE64',
            'face_field':'age,gender,face_shape'
        }
        #4.post网络请求
        response = requests.post(requestUrl, params=params, data=data)
        #print('响应结果:', response)
        content = response.json()
        #print('解析结果:', content)
        age = content['result']['face_list'][0]['age']  # 人脸得分
        print('年龄:', age)
        gender = content['result']['face_list'][0]['gender']['type']
        shape = content['result']['face_list'][0]['face_shape']['type']

        if gender == 'male':
            gender='男'
        else:
            gender='女'
        print('性别:',gender)

        if shape == 'square':
            shape = '国字脸'
        elif shape == 'triangle':
            shape = '瓜子脸'
        elif shape == 'oval':
            shape = '鹅蛋脸'
        elif shape == 'heart':
            shape = '心形脸'
        else:
            shape = '圆形脸'
        print('脸型:',shape)
        #存储数据
        tempDict = {'image': imgUrl, 'age': age,'gender':gender,'shape':shape}  # 以key-value的形式存储      

print("欢迎来到人脸识别系统")
x = input("按回车选择一张带有人脸的图片:")
if x == "":
    selectPhoto()
    getData()  
else:
    exit()

[代码运行效果截图]


小工具2 人脸识别


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...