利用python写一个颜值测试小工具(代码片段)

shann001 shann001     2022-12-01     579

关键词:

我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 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)

看一下实现效果:

技术图片

不用写一行代码,这款"高颜值"可视化神器,国庆值得try一try!(代码片段)

...;做过可视化的同学,想必都知道编程的可视化工具有Python、R语言,不编程的接触最多的有CiteSpace、Histcite、Ucinet、Pajek、Gephi等工具,今天小编就带大家了解一个小白极容易上手的可视化工具VOSviewer软件。1、VOSviewer简... 查看详情

python小项目用python写一个小工具——番茄钟(代码片段)

用python写一个小工具——番茄钟最近听到朋友说在用番茄钟,有点兴趣也想下载一个来用用,后面仔细一想这玩意做起来也不难,索性自己顺手写一个算了,在这里也分享给大家了一、功能简述番茄钟即番茄工作... 查看详情

利用python写一个gui小公举--制作一个小公举(代码片段)

...前言在上文中我们配置好了GUI编译环境,详细可以看利用python写一个gui小公举–环境搭建,这一节开始上手制作一个GUI小工具。制作pyqt5已经封装好了很多控件,所以写的时候可以直接复制粘贴。现在是chatgpt的时代&#x... 查看详情

肖战真的没我帅!我自己写的python颜值检测说的!(代码片段)

...#xff0c;今天我们就来自己写一个玩玩。环境搭建所需工具**Python版本:**3.5.4(64bit)相关模块:opencv_python模块、sklearn模块、numpy模块、dlib模块以及一些Python自带的模块。实现思路(1)模型训练(2)提取人脸关... 查看详情

肖战真的没我帅!我自己写的python颜值检测说的!(代码片段)

...#xff0c;今天我们就来自己写一个玩玩。环境搭建所需工具**Python版本:**3.5.4(64bit)相关模块:opencv_python模块、sklearn模块、numpy模块、dlib模块以及一些Python自带的模块。实现思路(1)模型训练(2)提取人脸关... 查看详情

利用ab测试并发可靠么(代码片段)

从一个后端开发的角度来测并发,主要就是无意间看到并发这个东西,就随便测一下,也只是用个极其简单的工具,做一个极其简单的测试,测试结果会写在下面,不过先从测试过程开始写起把。1.首先你得有2台服务器,当然一... 查看详情

用c#写一个redis数据同步小工具(代码片段)

...是就自己写了这个小工具)之所以自己写一个工具而不是利用redis备份机制来实现,主要是因为我们用的是redis云服务,不能像自己的服务器一样SSH上去一顿操作,要把云服务的redis数据同步到自己服务器上的redis实例。基本使用#... 查看详情

用python给喜欢的女孩写一个办公小工具,她说棒极了!(代码片段)

前言她经常使用电脑,像PS、AR等这些,包括一些网页都需要使用。作为我喜欢的女孩,我就想为她做些什么。就设计了一款小工具——宁宁助手❤核心功能设计程序、网页直达。将一些常用的网页和程序放到一个界... 查看详情

用c#写一个redis数据同步小工具(代码片段)

...是就自己写了这个小工具)之所以自己写一个工具而不是利用redis备份机制来实现,主要是因为我们用的是redis云服务,不能像自己的服务器一样SSH上去一顿操作,要把云服务的redis数据同步到自己服务器上的redis实例。基本使用... 查看详情

抽根烟的功夫!用python做个颜值测试脚本(代码片段)

先做个介绍1、vimmy_introduce2.py编辑内容:#!/usr/bin/envpython#str,字符串name="frindsofthewind"#int,整数age=29#是,布尔类型gender=True#Float,浮点数height=1.82#int,整数weight=79print(name)print 查看详情

python中的测试工具(代码片段)

...的测试来确保程序的每个细节都没问题会显得很繁琐。在Python中,我们可以借助一些标准模块来帮助我们自动完成测试过程,比如:unittest:一个通用的测试框架;doctest:一个更简单的模块,是为检查文档而设计的,但也非常适合... 查看详情

通过python开发一个小嗅探工具(代码片段)

...统在处理UDP端口的闭合时都会存在一个共性,我们也正是利用这个共性来开展确定此IP上是否有存活主机。  当我们发送一个数据包给主机上的一个以关闭的UDP接口时,如果此接口返回一个ICMP的话,就表示目标主机存活,如果... 查看详情

用python写一个年会抽奖小程序(代码片段)

使用pyinstaller打包工具常用参数指南pyinstaller-Fdemo.py参数含义-F指定打包后只生成一个exe格式的文件-D–onedir创建一个目录,包含exe文件,但会依赖很多文件(默认选项)-c–console,–nowindowed使用控制台,无界面(默认选项)-w–windowe... 查看详情

python程序小测试(代码片段)

python程序小测试对之前写的程序做简单的小测试...1#-*-encoding:utf-8-*-2‘‘‘3对所写程序做简单的测试4@author:bpf5‘‘‘6defGameOver(N,scoreA,scoreB):7‘‘‘8function:定义一局排球比赛的结束条件9N:代表当前局次(第五局为决胜局)10前四局... 查看详情

女友晚安之后依然在线:python男友用20行代码写了个小工具(代码片段)

大家好,我是Lex喜欢欺负超人那个Lex擅长领域:python开发、网络安全渗透、Windows域控Exchange架构今日重点:python用20代码实现录屏功能代码干货满满,建议收藏+实操!!!有问题及需要,请留言哦~~事情是这样的python小哥哥发现... 查看详情

简易远程文件上传(代码片段)

...着使用Python写文件上传处理的后台逻辑。东西都写好了,利用Flask优雅的路由,实现的一个不错的后台。然后http://127.0.0.1:5000/upload完美!原来这么简单哦。然而终究是高兴的太早,让我尝试着让局域网中的同学测试一下帮忙测试... 查看详情

使用idea工具编写python自动化脚本遇到的小问题(代码片段)

...所写的项目的目录或者父目录下,其中要注意版本问题,Python2和Python3的一系列问题②将测试结果转为HTML报告时报错TypeError:write()argumentmustbestr,notbytes:将open函数中的w改为wb,因为Python2中时二进制的,在Python中必须传入Unicode字符... 查看详情

python常用小妙招(代码片段)

...=3In[2]:b=5In[3]:a,b=b,aIn[4]:aOut[4]:5In[5]:bOut[5]:3免去了利用一个临时变量进行过渡交 查看详情