大家好,欢迎来到公众号:【python教程入门学习】!
现在很多拍照软件都有颜值打分及年龄识别功能。其实我们自己用 Python 也能实现这样的功能。今天就分享一个用 PyQt 做可视化,然后调用百度人脸识别 API,识别出人脸的性别、预测年龄以及颜值打分的案例。
下面一起来看看怎么实现的吧~
第一步:创建工具主窗口
PyQt5 创建主窗口有其固定的套路,首先要创建应用程序对象:app=QApplication(sys.argv),参数sys.argv是命令行参数,这使得可以在电脑系统终端执行程序时,传入命令参数,来执行不同的逻辑代码。执行应用程序对象,进入消息循环等待退出: sys.exit(app.exec_()),代码如下。
其中, Window() 是识别工具的类,窗口大小为 500X200
再为该窗口添加标题和图标
效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sntS5zXy-1618733765272)(https://upload-images.jianshu.io/upload_images/5459800-0b88b56f7231f1a5?imagemogr2/auto-orIEnt/strip%7CimageVIEw2/2/w/1240)]
第二步:以网格布局方式放控件
PyQt5有5种布局方式,分别是绝对布局、水平布局、垂直布局、网格布局和表单布局,本程序只采用网格布局,其余布局方式各有特点,感兴趣的朋友可以研究一下。
用QTextbrowser创建选择图片、浏览标签,分别为110x25和60x40大小,用Qpushbutton创建浏览、开始分析按钮,并绑定setbrowerPath和start函数(后续会提到),网格布局需要用到addWidget函数,它的4个参数分别代表放置的内容、放置行数、放置的列数、放的位置。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tBE3O505-1618733765281)(https://upload-images.jianshu.io/upload_images/5459800-5c2a825a73501329?imagemogr2/auto-orIEnt/strip%7CimageVIEw2/2/w/1240)]
2. 放置性别、年龄、颜值标签,分别放置在第 4、5、6 行的1和2列位置。
第三步:绑定“浏览”、“开始分析”信号槽
首先是绑定“浏览”信号,先实例化QfileDialog,然后设置可以打开任何文件,接着设置文件过滤,选择接受选中文件的路径,默认为列表,再取出文件路径。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9MDP4TMA-1618733765290)(https://upload-images.jianshu.io/upload_images/5459800-cf02f17772543a65?imagemogr2/auto-orIEnt/strip%7CimageVIEw2/2/w/1240)]
然后是绑定“开始分析”信号。其功能就是发送网络请求百度云接口,获取识别信息。
第四步:请求百度云 API
1. 进入百度云人脸识别控制台
https://console.bce.baIDu.com/ai/?_=1528192333418&fromai=1#/ai/face/overvIEw/index
没有账号的话需要先注册一下。
2. 创建人脸识别应用
3. 创建成功后获得 API key 和 Secret Key
4. 获取调用接口所需的 Access Token
其中 clIEnt_ID 是 API_key 的值,clIEnt_secret 是 Secret_Key 的值,返回的 access_token 用于人脸调用接口进行人脸识别。
5. 打开图片路径,并转成 BASE64 格式
6. 构造识图请求参数,获得返回结果
img 是图片信息,image_type 是图片格式,face_fIEld 是返回的识别信息,包括年龄、颜值、性别等信息,我们只取颜值、性别、年龄3类信息。
7. 将返回结果放入上述文本显示框内
效果展示
用我自己的照片和女神迪丽热巴的照片比较一下
女神果然是女神,虽然我平时也以帅哥自称,但是在真正的实力派面前还是有差距的啊!
总结你要不要也来试试,用 Python 测测你和女神的颜值差距(仅供娱乐,请勿联想) 如果真的遇到好的同事,那算你走运,加油,抓紧学到手。
python、爬虫技巧资源分享朋友圈:Python7762 包含python,
pythonweb、爬虫、数据分析等Python技巧,以及人工智能、大数据、数据挖掘、自动化办公等的学习方法。
打造从零基础到项目开发上手实战全方位解析!
以上是内存溢出为你收集整理的Python颜值打分小工具,给你的自拍美照打个分吧全部内容,希望文章能够帮你解决Python颜值打分小工具,给你的自拍美照打个分吧所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)