在上一篇文章中,我们用python实现了对图片网站上的小姐姐图片爬取:
这篇文章就来演示一下,对爬取下来的小姐姐图片进行颜值判定,然后根据颜值高低来对图片进行排序。
颜值判定的API是百度的,这个API我测试过好多图,准确度还蛮高,且免费不限制使用次数(限速每秒2次),毕竟百度是国内大厂 (~ ̄▽ ̄)~。也希望大家手下留点情,不要把百度人脸识别API和小姐姐图片站给玩坏了
环境准备:
python3,requests模块,百度人脸识别API。
python3怎么装我就不说了,requests模块的话,在python环境的电脑里,直接打开cmd,执行pip install requests 就可以了。
创建完成后,在“管理应用”里面找到你的APPid,API key,Secret key就可以了。
一、逻辑分析
在正式开始写之前,需要把逻辑给分析清楚,然后根据这个逻辑,来编写相应的代码。在本篇文章的这个程序中,首先要把图片上传到百度云人脸识别服务器中进行识别,然后过滤掉没有人脸的图、男性的图和人脸置信度过低的图,然后再对图片进行颜值排序。
流程如下:
① 遍历本地文件夹中的图片
② 将本地照片上传到百度云的人脸识别服务器中,返回识别参数。
③ 分析返回的参数,过滤掉不是人脸的图片
④分析返回的参数,过滤掉男性的图片
⑤ 分析返回的参数,过滤掉人脸置信度过低的图片
⑥从返回的参数中取出图片的颜值,加上这张图片对应的路径,统一存放到一个字典中,格式为 {路径:颜值}
⑦ 循环取出字典中颜值最大的元素的路径和颜值,删除最大值,复制到新的文件夹,然后重命名文件为 排名+颜值。
二、分析百度人脸识别API
根据文档描述,可以看到,需要先使用你的API key和Secret id请求鉴权秘钥,然后再通过鉴权