基于百度AI的人脸识别系统–颜值检测

刚开始学,觉得好玩就写了这个
主要是分为人脸识别系统的对接,UI的设计

人脸识别系统:
用的百度的AI,其中的AK,SK可以换成自己的,在百度开放平台上注册就能获得,都是免费的

import base64
import json
import requestsdef face_baidu():class BaiduPicIndentify:def __init__(self,img):self.AK = "juqVLsljMBigcM4soXoVmMGr"self.SK = "g5EgLoGOxEs3jogREqGVWUYl1e5tLkUL"self.img_src = imgself.headers = {"Content-Type": "application/json; charset=UTF-8"}def get_accessToken(self):host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + self.AK + '&client_secret=' + self.SKresponse = requests.get(host, headers=self.headers)json_result = json.loads(response.text)return json_result['access_token']def img_to_BASE64(slef,path):with open(path,'rb') as f:base64_data = base64.b64encode(f.read())return base64_datadef detect_face(self):# 人脸检测与属性分析img_BASE64 = self.img_to_BASE64(self.img_src)request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect"post_data = {"image": img_BASE64,"image_type": "BASE64","face_field": "gender,age,beauty,gender,race,expression","face_type": "LIVE"}access_token = self.get_accessToken()request_url = request_url + "?access_token=" + access_tokenresponse = requests.post(url=request_url, data=post_data, headers=self.headers)json_result = json.loads(response.text)if json_result['error_msg']!='pic not has face':t1 = tk.Label(win, text=json_result['result']['face_num']).grid(row=4,column=1)t2 = tk.Label(win, text=json_result['result']['face_list'][0]['age']).grid(row=5,column=1)t3 = tk.Label(win, text=json_result['result']['face_list'][0]['beauty']).grid(row=6,column=1)t4 = tk.Label(win, text=json_result['result']['face_list'][0]['gender']['type']).grid(row=7,column=1)t5 = tk.Label(win, text=json_result['result']['face_list'][0]['race']['type']).grid(row=8,column=1)t6 = tk.Label(win, text=json_result['result']['face_list'][0]['expression']['type']).grid(row=9,column=1)if __name__=='__main__':img_src=fpath.get()baiduDetect = BaiduPicIndentify(img_src)baiduDetect.detect_face()

UI界面:

import tkinter as tk
from tkinter import filedialog,ttkwin = tk.Tk()
win.title("颜值检测")
win.geometry("400x200")
fpath=tk.StringVar()l = tk.Label(win, text='颜值检测系统-由百度AI提供', bg='brown', font='黑体,20,bold',fg='white')
l.grid(row=1,column=0)ttk.Button(win,text='打开图片',command=getfile).grid(row=2,column=0)
ttk.Entry(win,textvariable=fpath).grid(row=2,column=1)l1 = tk.Label(win, text='人脸数:')
l1.grid(row=4,column=0)
l2 = tk.Label(win, text='人物年龄:')
l2.grid(row=5,column=0)
l3 = tk.Label(win, text='人物颜值评分:')
l3.grid(row=6,column=0)
l4 = tk.Label(win, text='人物性别:')
l4.grid(row=7,column=0)
l5 = tk.Label(win, text='人物种族:')
l5.grid(row=8,column=0)
l6 = tk.Label(win, text='人物表情:')
l6.grid(row=9,column=0)b=tk.Button(win,text="点我检测",width=15,height=2,command=face_baidu)
b.grid(row=10,column=0)win.mainloop()

用的tkinter的库,不太熟悉,其实界面没花多少时间,主要是打开图片,然后把图片路径赋值给百度AI函数那里怎么弄都不对,网上找了好久

附上完整代码:

import tkinter as tk
from tkinter import filedialog,ttk
import base64
import json
import requests#打开文件对话框
def getfile():file_path=filedialog.askopenfilename()fpath.set(file_path)def face_baidu():class BaiduPicIndentify:def __init__(self,img):self.AK = "juqVLsljMBigcM4soXoVmMGr"self.SK = "g5EgLoGOxEs3jogREqGVWUYl1e5tLkUL"self.img_src = imgself.headers = {"Content-Type": "application/json; charset=UTF-8"}def get_accessToken(self):host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + self.AK + '&client_secret=' + self.SKresponse = requests.get(host, headers=self.headers)json_result = json.loads(response.text)return json_result['access_token']def img_to_BASE64(slef,path):with open(path,'rb') as f:base64_data = base64.b64encode(f.read())return base64_datadef detect_face(self):# 人脸检测与属性分析img_BASE64 = self.img_to_BASE64(self.img_src)request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect"post_data = {"image": img_BASE64,"image_type": "BASE64","face_field": "gender,age,beauty,gender,race,expression","face_type": "LIVE"}access_token = self.get_accessToken()request_url = request_url + "?access_token=" + access_tokenresponse = requests.post(url=request_url, data=post_data, headers=self.headers)json_result = json.loads(response.text)if json_result['error_msg']!='pic not has face':t1 = tk.Label(win, text=json_result['result']['face_num']).grid(row=4,column=1)t2 = tk.Label(win, text=json_result['result']['face_list'][0]['age']).grid(row=5,column=1)t3 = tk.Label(win, text=json_result['result']['face_list'][0]['beauty']).grid(row=6,column=1)t4 = tk.Label(win, text=json_result['result']['face_list'][0]['gender']['type']).grid(row=7,column=1)t5 = tk.Label(win, text=json_result['result']['face_list'][0]['race']['type']).grid(row=8,column=1)t6 = tk.Label(win, text=json_result['result']['face_list'][0]['expression']['type']).grid(row=9,column=1)if __name__=='__main__':img_src=fpath.get()baiduDetect = BaiduPicIndentify(img_src)baiduDetect.detect_face()win = tk.Tk()
win.title("颜值检测")
win.geometry("400x200")
fpath=tk.StringVar()l = tk.Label(win, text='颜值检测系统-由百度AI提供', bg='brown', font='黑体,20,bold',fg='white')
l.grid(row=1,column=0)ttk.Button(win,text='打开图片',command=getfile).grid(row=2,column=0)
ttk.Entry(win,textvariable=fpath).grid(row=2,column=1)l1 = tk.Label(win, text='人脸数:')
l1.grid(row=4,column=0)
l2 = tk.Label(win, text='人物年龄:')
l2.grid(row=5,column=0)
l3 = tk.Label(win, text='人物颜值评分:')
l3.grid(row=6,column=0)
l4 = tk.Label(win, text='人物性别:')
l4.grid(row=7,column=0)
l5 = tk.Label(win, text='人物种族:')
l5.grid(row=8,column=0)
l6 = tk.Label(win, text='人物表情:')
l6.grid(row=9,column=0)b=tk.Button(win,text="点我检测",width=15,height=2,command=face_baidu)
b.grid(row=10,column=0)win.mainloop()

效果图:

PS:
百度AI系统那里主要是借鉴的其他博主的,这里附上原链接:https://blog.csdn.net/cskywit/article/details/81540500

Python基于百度AI的人脸识别系统--颜值检测相关推荐

  1. python 百度ai批量识别_Python基于百度AI的文字识别的示例

    Python基于百度AI的文字识别的示例 使用百度AI的文字识别库,做出的调用示例,其中filePath是图片的路径,可以自行传入一张带有文字的图片,进行识别. 下载baidu-aip这个库,可以直接 ...

  2. python 百度云文字识别 proxy_Python基于百度AI的文字识别的示例

    Python基于百度AI的文字识别的示例 发布时间:2020-10-03 14:52:27 来源:脚本之家 阅读:66 使用百度AI的文字识别库,做出的调用示例,其中filePath是图片的路径,可以 ...

  3. python人脸识别系统界面设计_基于卷积神经网络的人脸识别系统的设计(Python)

    基于卷积神经网络的人脸识别系统的设计(Python)(论文10000字,外文翻译,参考代码,流程图,人脸图像库) 摘要:随着社会的进步与发展,个人信息的保护变得十分重要.传统的密码保护方式已经不再满足 ...

  4. python dlib caffe人脸相似度_基于深度学习的人脸识别系统(Caffe+OpenCV+Dlib)【一】如何配置caffe属性表...

    前言 基于深度学习的人脸识别系统,一共用到了5个开源库:OpenCV(计算机视觉库).Caffe(深度学习库).Dlib(机器学习库).libfacedetection(人脸检测库).cudnn(gp ...

  5. Python | 人脸识别系统 — 活体检测

    本博客为人脸识别系统的活体检测代码解释 人脸识别系统博客汇总:人脸识别系统-博客索引 项目GitHub地址:Su-Face-Recognition: A face recognition for us ...

  6. 使用python和pyqt5轻松上手人脸识别系统(含代码)

    使用python和pyqt5轻松上手人脸识别系统(含代码) 一. 环境配置 1.1 python环境配置 1.1.1 安装 anaconda 1.1.2 安装pycharm 1.1.3 配置pip源 ...

  7. python 利用百度AI实现文字识别(cv2 + aip module)

    python 利用百度AI实现文字识别(cv2 + aip module) (该案例将利用cv2,aip等模块,详细的安装以及使用的方法将在后文进行简单的介绍.) 一.KNN算法的简介(机器学习算法之 ...

  8. 基于深度学习的人脸识别系统(Caffe+OpenCV+Dlib)【三】VGG网络进行特征提取

    前言 基于深度学习的人脸识别系统,一共用到了5个开源库:OpenCV(计算机视觉库).Caffe(深度学习库).Dlib(机器学习库).libfacedetection(人脸检测库).cudnn(gp ...

  9. 基于深度学习的人脸识别系统系列(Caffe+OpenCV+Dlib)——【六】设计人脸识别的识别类...

    前言 基于深度学习的人脸识别系统,一共用到了5个开源库:OpenCV(计算机视觉库).Caffe(深度学习库).Dlib(机器学习库).libfacedetection(人脸检测库).cudnn(gp ...

最新文章

  1. 汽车高级驾驶辅助系统ADAS激光雷达创新者Cepton与Growth Capital达成企业合并协议
  2. php 字母转换成小写字母,PHP中将大写字母转换为小写字母的函数是_________
  3. 全球及中国水深测量声呐行业应用前景及未来投资决策建议报告2022-2027年
  4. 【学习笔记】Python - tkinter
  5. win10使用WSL安装CentOS7
  6. AUTOSAR从入门到精通100讲(七)-CAN总线简介及特点
  7. c语言 int (*p)[5] 类型分析
  8. 《Java基础入门第2版》--黑马程序员 课后答案及其详解 第1章 Java开发入门
  9. 三种典型的博弈论问题(巴什博奕、威佐夫博奕、尼姆博奕)
  10. 谈医药行业网站的运营模式分析
  11. 程序员需要了解的先秦文学
  12. 1.4 矩阵方程(第1章 线性代数中的线性方程组)
  13. python学习记录三:关于ImageFont.truetype(‘Arial.ttf‘, 36)执行报错以及解决方案
  14. 服务器开发——定时器
  15. 这部史诗级大片,燃到爆!
  16. docker安装nginx镜像
  17. ChatGPT神器免费使用,告别昂贵低效工具
  18. android 数据备份
  19. 每日词根——viv(生命)
  20. Educoder头歌-Linux vi/vim编辑器

热门文章

  1. js改变原数组的方法和不改变原数组
  2. java实现蛇形数组
  3. 论看过的书对我产生了什么影响?
  4. 各种编程语言的优缺点
  5. Octave常用函数
  6. Android中使用外置存储设备(U盘/移动硬盘等)
  7. 【UML】UML几种图的绘制
  8. java中execute用法_EXECUTE IMMEDIATE用法小解
  9. 如何从绩效报告中分辨出——好模型 or 坏模型
  10. ansible 远程windows