Python调用百度AI实现颜值评分功能

Python调用百度AI实现颜值评分功能

2023年7月10日发(作者:)

Python调⽤百度AI实现颜值评分功能⽬录⼀、调⽤百度接⼝进⾏⼈脸属性识别⼆、根据年龄和性别对颜值进⾏评价三、批量识别⼈脸属性四、⾃定义窗⼝语⾳播报颜值得分五、明星颜值评价⼀、调⽤百度接⼝进⾏⼈脸属性识别安装好baidu-aip模块,获取了百度AI接⼝密钥后,即可调⽤百度接⼝进⾏⼈脸属性识别了。⾸先以杨紫的图⽚为例进⾏年龄、性别、颜值的识别。具体python代码如下:import osimport base64from aip import (r'F:公众号28.⼈脸识别')#设置图⽚存放的路径pictureName = '1_'def get_picture_content(pictureName): with open(pictureName, 'rb') as fp: content = base64.b64encode(()) return ('utf-8')#定义读取图⽚的函数APP_ID = 'XXX'API_KEY = 'XXXXXXXX'SECRET_KEY = 'XXXXXXXXXXXX'#百度账号和密钥options = {}imageType = 'BASE64'options["face_field"] = "age, gender, beauty"aipFace = AipFace(APP_ID, API_KEY, SECRET_KEY)result = (get_picture_content(pictureName), imageType, options)print(result)注: 其中中的内容应该替换成你存储图⽚的地址,APP_ID、API_KEY、SECRET_KEY应该替换成你获取的百度密钥。得到结果如下:其中,age对应的值为年龄,gender对应的值为性别,beauty对应的值为颜值分。为进⼀步规范输出成标准格式,通过如下代码进⾏规范化:import pandas as pdface_character = ame({"age":[result['result']['face_list'][0]['age']], "gender":[result['result']['face_list'][0]['gender']['type']], "beauty":[result['result']['face_list'][0]['beauty']] })得到结果如下:可以发现杨紫的颜值得分还是很⾼的图⽚,后续⽂章也会对其它⼀些明星进⾏测试。⼆、根据年龄和性别对颜值进⾏评价根据性别和颜值分,对识别结果进⾏评价,具体代码如下:if face_character['beauty'][0]>80: if face_character['gender'][0] == 'female': print("⼩姐姐颜值爆表") else: print("⼩哥哥颜值爆表")

elif face_character['beauty'][0]>70: if face_character['gender'][0] == 'female': print("⼩姐姐天⽣美颜") else: print("⼩哥哥天⽣美颜")

elif face_character['beauty'][0]>60: if face_character['gender'][0] == 'female': print("⼩姐姐颜值尚可") else: print("⼩哥哥颜值尚可")

elif face_character['beauty'][0]>40: if face_character['gender'][0] == 'female': print("⼩姐姐先天不够,后天来凑") else: print("⼩哥哥先天不够,后天来凑")

else: if face_character['gender'][0] == 'female': print("⼩姐姐洗洗睡吧") else: print("⼩哥哥洗洗睡吧")得到结果:三、批量识别⼈脸属性假设⽂件夹中有数张⼈脸图⽚,想批量对这批图⽚进⾏颜值打分,可执⾏如下代码:import osimport reimport timeimport base64from aip import (r'F:公众号28.⼈脸识别')#设置图⽚存放的路径pictureName = '6_'def get_picture_content(pictureName): with open(pictureName, 'rb') as fp: content = base64.b64encode(()) return ()#定义读取图⽚的函数APP_ID = 'XXX'API_KEY = 'XXXXXXXX'SECRET_KEY = 'XXXXXXXXXXXX'#百度账号和密钥options = {}imageType = 'BASE64'options["face_field"] = "beauty"options["max_face_num"] = 2aipFace = AipFace(APP_ID, API_KEY, SECRET_KEY)root_path = r'F:公众号28.⼈脸识别'list = r(root_path)

# 列出⽂件夹下所有的⽬录与⽂件for i in range(0, len(list)): (1)

path = (root_path, list[i]) if (path): result = (get_picture_content(path), imageType, options) print(list[i] + ' 评分为:' + str(result['result']['face_list'][0]['beauty']))#显⽰出所有图⽚的颜值得分得到结果:可以发现杨紫的那张照⽚颜值分很⾼,有⼋⼗⼏分。为了更好的⽤户体验,我们设置⼀个窗⼝,显⽰评价照⽚并语⾳播报颜值得分。 四、⾃定义窗⼝语⾳播报颜值得分为了更清晰地评价⼈的颜值,把图⽚和结果⽤tkinter库和语⾳播放库包装起来,效果会更好。具体代码如下:import osimport reimport timeimport base64import pandas as pdimport tkinter as tkfrom aip import AipFacefrom tkinter import filedialogroot = ()aw()Folderpath = ectory(title = '请选择图⽚存放的⽂件夹')

picturePath = nfilename(title = '请选择要进⾏颜值评价的图⽚')y()(Folderpath)#设置图⽚存放的路径def get_picture_content(picturePath): with open(picturePath, 'rb') as fp: content = base64.b64encode(()) return ()#定义读取图⽚的函数APP_ID = 'XXX'API_KEY = 'XXXXXXXX'SECRET_KEY = 'XXXXXXXXXXXX'#百度账号和密钥options = {}options["max_face_num"] = 2options["face_field"] = "gender"aipFace = AipFace(APP_ID, API_KEY, SECRET_KEY)imageType = 'BASE64'result = (get_picture_content(picturePath), imageType, options)gender = result['result']['face_list'][0]['gender']['type']options["face_field"] = "age"(1)result = (get_picture_content(picturePath), imageType, options)age = result['result']['face_list'][0]['age']options["face_field"] = "beauty"(2)result = (get_picture_content(picturePath), imageType, options)beauty = result['result']['face_list'][0]['beauty']#获取年龄、性别、颜值信息face_character = ame({"age":age, "gender":gender, "beauty":beauty},index = ['value'])if face_character['beauty'][0]>80: if face_character['gender'][0] == 'female': str_list = "⼩姐姐芳龄:"+ str(age) + ",颜值爆表"+ ',最终颜值得分为:'+str(beauty) else: str_list = "⼩哥哥贵庚:"+ str(age) + ",颜值爆表"+ ',最终颜值得分为:'+str(beauty)elif face_character['beauty'][0]>70: if face_character['gender'][0] == 'female': str_list = "⼩姐姐芳龄:"+ str(age) + ",天⽣美颜"+ ',最终颜值得分为:'+str(beauty) else: str_list = "⼩哥哥贵庚:"+ str(age) + ",天⽣美颜"+ ',最终颜值得分为:'+str(beauty)elif face_character['beauty'][0]>50: if face_character['gender'][0] == 'female': str_list = "⼩姐姐芳龄:"+ str(age) + ",颜值尚可"+ ',最终颜值得分为:'+str(beauty) else: str_list = "⼩哥哥贵庚:"+ str(age) + ",颜值尚可"+ ',最终颜值得分为:'+str(beauty)elif face_character['beauty'][0]>30: if face_character['gender'][0] == 'female': str_list = "⼩姐姐芳龄:"+ str(age) + ",先天不够,后天来凑"+ ',最终颜值得分为:'+str(beauty) else: str_list = "⼩哥哥贵庚:"+ str(age) + ",先天不够,后天来凑" + ',最终颜值得分为:'+str(beauty)else: if face_character['gender'][0] == 'female': str_list = "⼩姐姐芳龄:"+ str(age) + ",早点洗洗睡吧"+ ',最终颜值得分为:'+str(beauty) else: str_list = "⼩哥哥贵庚:"+ str(age) + ",早点洗洗睡吧"+ ',最终颜值得分为:'+str(beauty)#颜值定义from tkinter import *from PIL import Image, ImageTkfrom import Dispatch#导⼊包speaker = Dispatch("e")def roll_call(): (str_list)#控制播放语⾳(Folderpath)#设置⽂件路径root = Tk()("颜值测试⼩程序")tmap("")#设置窗⼝image = (picturePath)#加载图⽚ry("400x300")#根据图⽚⼤⼩设置窗⼝⼤⼩img_pic = mage(image)label = Label(root, image=img_pic)()b2 = (root, bg='lightyellow', text='颜值评价', font=("KaiTi", 8), width=8, height=2, command=roll_call)(x=0, y=0)op()五、明星颜值评价最后我们来看下明星的颜值评分吧。1 刘亦菲颜值评价结果:'⼩姐姐芳龄:21,颜值尚可,最终颜值得分为:64.19'对于这个结果,我也⽐较吃惊,所以颜值得分⼤家当成娱乐就好图⽚。2 贾玲颜值评价结果:'⼩姐姐芳龄:37,先天不够,后天来凑,最终颜值得分为:30.67'颜值得分仅供参考,请勿当真。我的有些照⽚测出来也是三⼗多分,可能跟背景、光线、表情都有⼀定的关系,⼤家当成娱乐就好。3 肖战颜值评价结果:'⼩哥哥贵庚:23,颜值尚可,最终颜值得分为:63.9'颜值得分仅供参考,请勿当真图⽚,认为我的代码有问题的可以⾃⾏下载图⽚和代码进⾏尝试。4 宋⼩宝颜值评价结果:'⼩哥哥贵庚:40,先天不够,后天来凑,最终颜值得分为:45.18'颜值得分仅供参考,请勿当真。从上⾯的颜值得分可以发现,普遍颜值得分较低,⼋⼗多分的已经算⾼分了,也算是为杨紫的颜值正名了吧。⾄此,调⽤百度接⼝颜值识别已讲解完毕,感兴趣的朋友⾃⼰实现⼀遍吧。

以上就是Python调⽤百度AI实现颜值评分功能的详细内容,更多关于Python 颜值评分的资料请关注其它相关⽂章!

发布者:admin,转转请注明出处:http://www.yc00.com/web/1688930915a184735.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信