欢迎访问
这是个实用的Python网站

用Python计算出小姐姐的颜值数,看看你的女神颜值多少

本文首发于公众号「Python知识圈」
作者:pk哥
来源:公众号「Python知识圈」

现在很多拍照软件都有颜值测试及年龄识别功能,经过研究,发现 Python 也能实现,今天主要用PyQt4做个可视化工具,然后调用百度人脸识别api,识别出人脸的性别、年龄及颜值,下面一起来看看怎么实现的吧!

第一步:创建工具主窗口

PyQt5创建主窗口有其固定的套路,首先要创建应用程序对象:app=QApplication(sys.argv),参数sys.argv是命令行参数,这使得可以在电脑系统终端执行程序时,传入命令参数,来执行不同的逻辑代码。执行应用程序对象,进入消息循环等待退出: sys.exit(app.exec_()),代码如下。

其中, Window()是识别工具的类,窗口大小为 500X200

再为该窗口添加标题和图标 

效果如下:

第二步:以网格布局方式放控件

PyQt5有5种布局方式,分别是绝对布局、水平布局、垂直布局、网格布局和表单布局,本程序只采用网格布局,其余布局方式各有特点,感兴趣的朋友可以研究一下。
1. 用QTextBrowser创建选择图片、浏览标签,分别为110×25和60×40大小,用QpushButton创建浏览、开始分析按钮,并绑定setBrowerPath和start函数(后续会提到),网格布局需要用到addWidget函数,它的4个参数分别代表放置的内容、放置行数、放置的列数、放的位置。

2.放置性别、年龄、颜值标签,分别放置在第 4、5、6 行的1和2列位置。

3.绑定“浏览”、“开始分析”信号槽

首先是绑定“浏览”信号,先实例化QfileDialog,然后设置可以打开任何文件,接着设置文件过滤,选择接受选中文件的路径,默认为列表,再取出文件路径。

然后是绑定“开始分析”信号

1.进入百度云人脸识别控制台

https://console.bce.baidu.com/ai/?_=1528192333418&fromai=1#/ai/face/overview/index

没有账号的要注册的话

2.创建人脸识别应用 

3.创建成功后获得API key和Secret Key 

  1. 获取调用接口所需的Access Token

其中client_id是API_key的值,client_secret是Secret_Key的值,返回的access_token用于人脸调用接口进行人脸识别。

5.打开图片路径,并转成BASE64格式

6.构造识图请求参数,获得返回结果 

Img是图片信息,image_type是图片格式,face_field是返回的识别信息,包括年龄、颜值、性别等信息,我们只取颜值、性别、年龄3类信息。
7.将返回结果放入上述文本显示框内

第三步:效果展示

用我自己的照片和女神迪丽热巴的照片比较了一下。

KO!

女神果然是女神,虽然我平时也以帅哥自称,但是在真正的实例派面前还是有差距的啊!

赶紧行动起来,用python测测你和女神的颜值差距

赞(1) 打赏
未经允许不得转载:转载请到公众号「Python知识圈」联系作者授权!Python知识圈 » 用Python计算出小姐姐的颜值数,看看你的女神颜值多少

评论 1

  1. #-49

    1234

    匿名2个月前 (09-01)回复