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

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

简介

要实现颜值测试功能,大致有两种方式:一种是自己编写检测功能,另一种是借助第三方接口来实现检测功能,比如:百度云接口,为了方便,本文我们采用百度云接口,接口的注册这里就不说了。

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

实现

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

对于新手小白想更轻松的学好Python开发,Python爬虫,数据分析,人工智能等技术,这里给大家分享一套系统教学资源,加一下我V:itz992 【教程/工具/方法/解疑】

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)

看一下实现效果:

format,png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值