我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具。

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

简介

要实现颜值测试功能,大致有两种方式:一种是自己编写检测功能,另一种是借助第三方接口来实现检测功能,比如:百度云接口,为了方便,本文我们采用百度云接口,接口的注册这里就不说了,如果不太清楚注册流程的话,可以参考一下我之前写的车牌识别这篇文章: https://blog.csdn.net/ityard/article/details/105673451 。

我们需要用到的 Python 库主要包括:pillow、baidu-aip、tkinter,安装使用 pip install pillow/baidu-aip/tkinter 即可。

实现

首先,我们来看一下如何利用照片通过百度云接口获取性别、年龄、颜值信息,代码实现如下所示:

APP_ID = '自己的APP_ID'
API_KEY = '自己的API_KEY'
SECRET_KEY = '自己的SECRET_KEY'
face = AipFace(APP_ID, API_KEY, SECRET_KEY)
image_type = 'BASE64'
options = {'face_field': 'age,gender,beauty'}def get_file_base64(file_path):with open(file_path, 'rb') as fr:content = base64.b64encode(fr.read())return content.decode('utf8')def get_score(file_path):# 脸部识别分数result = face.detect(get_file_base64(file_path), image_type, options)# print(result)age = result['result']['face_list'][0]['age']beauty = result['result']['face_list'][0]['beauty']gender = result['result']['face_list'][0]['gender']['type']return age, beauty, gender

这里我们使用 tkinter 创建 GUI 来进行照片选取和接口调用的操作,下面看一下代码的主要实现。

首先,我们创建一个窗口,代码实现如下:

root = tk.Tk()
# 设置窗口大小
root.geometry('700x450')
# 为窗口添加标题
root.title('颜值测试工具')
# 设置背景色
canvas = tk.Canvas(root,width=700,height=450,bg='#EEE8AA')
canvas.pack()

我们接着向窗口中添加两个按钮,一个用来选择照片,另一个用来调用接口,代码实现如下:

# 照片选择按钮tk.Button(self.root, text='选择照片', font=('华文行楷', 16), command=self.show_img).place(x=40, y=180)# 颜值测试按钮tk.Button(self.root, text='查看颜值', font=('华文行楷', 16), command=self.set_score).place(x=40, y=280)

我们还需要创建三个输入框来显示接口返回的性别、年龄和颜值信息,代码实现如下:

tk.Label(self.root, text='性别', bg='#EEE8AA', fg='#0AB0D5', font=('华文行楷', 20)).place(x=500, y=150)
self.text1 = tk.Text(self.root, width=10, height=2)
tk.Label(self.root, text='年龄', bg='#EEE8AA', fg='#0AB0D5', font=('华文行楷', 20)).place(x=500, y=260)
self.text2 = tk.Text(self.root, width=10, height=2)
tk.Label(self.root, text='颜值', bg='#EEE8AA', fg='#0AB0D5', font=('华文行楷', 20)).place(x=500, y=360)
self.text3 = tk.Text(self.root, width=10, height=2)
# 填装文字
self.text1.place(x=580, y=150)
self.text2.place(x=580, y=260)
self.text3.place(x=580, y=360)

看一下实现效果:

利用 Python 写一个颜值测试小工具相关推荐

  1. python测试开发自学教程-Web开发哪家强?看我用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 简介 要实现颜值测试功能,大致有两种方式:一种是自己 ...

  2. 用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 简介 要实现颜值测试功能,大致有两种方式:一种是自己 ...

  3. python小测试8_用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 简介 要实现颜值测试功能,大致有两种方式:一种是自己 ...

  4. python测试开发小工具_Web开发哪家强?看我用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 简介 要实现颜值测试功能,大致有两种方式:一种是自己 ...

  5. 用 Python 写一个颜值测试小工具!你的颜值有几分了?

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 简介 要实现颜值测试功能,大致有两种方式:一种是自己 ...

  6. python抽奖游戏_利用Python写一个抽奖程序,解密游戏内抽奖的秘密

    原标题:利用Python写一个抽奖程序,解密游戏内抽奖的秘密 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客 ...

  7. python推箱子小游戏_小伙利用Python自制一个推箱子小游戏!

    原标题:小伙利用Python自制一个推箱子小游戏! 导语 月初更波python制作小游戏系列吧用python写了个推箱子小游戏,在这里分享给大家,让我们愉快地开始吧 小伙利用Python自制一个推箱子 ...

  8. python打字_使用Python制作一个打字训练小工具

    一.写在前面 说道程序员,你会想到什么呢?有人认为程序员象征着高薪,有人认为程序员都是死肥宅,还有人想到的则是996和 ICU. 别人眼中的程序员:飞快的敲击键盘.酷炫的切换屏幕.各种看不懂的字符代码 ...

  9. python 编写实用小工具-使用Python制作一个打字训练小工具

    一.写在前面 说道程序员,你会想到什么呢?有人认为程序员象征着高薪,有人认为程序员都是死肥宅,还有人想到的则是996和 ICU. 别人眼中的程序员:飞快的敲击键盘.酷炫的切换屏幕.各种看不懂的字符代码 ...

最新文章

  1. 手把手pytorch-transformers实战
  2. PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程(转)
  3. 彻底弄懂 HTTP 缓存机制及原理 | 干货
  4. ServeJson undefined (type *MainController has no field or method ServeJson
  5. c语言 nan 常量_NaN32常量(Julia)
  6. OpenShift 4 - 应急响应Demo应用(AMQ+Knative+Quay+BPM+BDM+SSO)
  7. 电脑调整分区后盘符丢失的资料怎样找到
  8. Eclipse开发环境设置(Maven+Spring MVC+Flex)
  9. 9种缺陷管理工具对比Bugzilla、testRail、TestLink、redmine、禅道、CODING、jira、TAPD、PingCode
  10. 一般线性模型混合线性模型广义线性模型【转】
  11. 在php中如何设置字体宋体,css怎么设置字体为宋体?
  12. 繁凡的ACM模板(满注释模板)
  13. Notepad++设置记录
  14. 虚拟互动展会沉浸式体验方案设计优势
  15. 海外直播运营账号的网络线路,该如何选择?
  16. linux运行欧陆风云,释放强大性能:Linux内核迎来QMEU 6.0的M68k虚拟机补丁
  17. 哈哈~ 开心死了 厚厚
  18. HTML常见标签的用法
  19. 记一次内网kafka映射到外网端口遇到小问题
  20. Deprecation Warning:

热门文章

  1. 使用匿名函数动态设置前置或者后置操作(装饰器模式的)
  2. SSM框架Spring+SpringMVC+MyBatis——详细整合教程
  3. Java中使用JNI调用本地动态库的方法
  4. macOS卸载Java9及利用Homebrew搭建并配置Java开发环境
  5. 全局模式下的正则表达式
  6. python logging模块使用教程
  7. //监测网络状态(AFNetworking) 服务端 客户端
  8. RabbitMq 3.0.1 技术预演资料
  9. morphological antialiasing
  10. NGINX Plus集成fail2ban进行动态IP黑名单配置