Python3+BaiduAI识别高颜值妹子图片
一、在百度云平台创建应用
为什么要到百度云平台创建应用,首先来说是为了获取获取access_token时需要的API Key和Secret Key
至于为什么需要API Key和Secret Key才能获取access_token,应该一是为了推广一下百度云二是为了获取一些统计数据。微信苹果要你们搞得,度娘就不能要你们搞得?不要纠结
1.访问百度AI开放 平台:http://ai.baidu.com/
2.“产品服务”----“人脸检测”

3. “立即使用”

4. 使用自己的百度账号登录(就手机百度、百度地图的那些账号,实在没有就注册一个咯)

5.创建应用

6.填写应用信息
应用名称----自己随便起就行
应用类型----不用管
接口选择----我们是从人脸识别链接进来的所以默认已帮我们全选上了人脸相关的接口,所以可以不用管;当然自己想调整也行
应用描述----自己随便写写就行
点击立即创建

7.查看应用详情

8.记录自己的API Key和Secret Key

二、高颜值妹子识别程序代码
1.好吧,这里有点标题党,因为程序实现的是识别url指向的图片的中的人物,然后获取其种类(人还是漫画)、性别、年龄和颜值,并不会说这妹子很漂亮这妹子很丑;但从技术上讲,颜值高低不过一个if颜值的事情并不是什么难点,这个就不用纠结了。
2.对于更高级的噱头----下载高颜值妹子图片(嗯,后来我还是实现了这个“噱头”),这在技术上也不是难点为了程序简洁这里下载代码就不写了;非要下载建议使用scrapy的ImagePiple,个人觉得那才是绝配。
3.程序使用的第三方库requests进行请求,官方示例用的urllib/urllb2为了程序通用可以理解,但urllib比较费劲平时自己写还是直接用requests好一些
4.程序不是很长也写了注释,就不再具体讲解了,自己使用时记得三件事(代码中的client_id和client_secret我贴上来时乱改的,程序直接运行会出错的):
将client_id赋值成自己的API Key,client_secret赋值成自己的Secret Key,url_pic赋值成自己想测试的图片的url
5.其关access_token有效期一般有一个月(具体看返回的json_result['"expires_in"'],单位秒),所以不用每次请求都去申请一次access_token,虽然官方容许每次都请求这种操作
6.官方文档其实各个点都算讲得明白的,耐心点读理解应该都没问题:http://ai.baidu.com/docs#/Face-Detect-V3/top
7.另外百度针对python提供了pypi库----baidu-aip,但原理一样的还是提供API Key和Secret Key联网去申请access_token,也就做了一下封装便利性上也就差不多吧想不想用看自己
import requests
import json class BaiduFaceIdentify():
#此函数用于获取access_token,返回access_token的值
#此函数被parse_face_pic调用
def get_access_token(self):
client_id = 'KuLRFhTzX3zBFBSrbQBsl6Q4' #此变量赋值成自己API Key的值
client_secret = '8ahbIb2hEOePzXhehw9ZDL9kGvbzIHTU' #此变量赋值成自己Secret Key的值
auth_url = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secret response_at = requests.get(auth_url)
json_result = json.loads(response_at.text)
access_token = json_result['access_token']
return access_token #此函数进行人脸识别,返回识别到的人脸列表
#此函数被parse_face_pic调用
def identify_faces(self,url_pic,url_fi):
headers = {
'Content-Type' : 'application/json; charset=UTF-8'
}
post_data = {
'image': url_pic,
'image_type' : 'URL',
'face_field' : 'facetype,gender,age,beauty', #expression,faceshape,landmark,race,quality,glasses
'max_face_num': 2
} response_fi = requests.post(url_fi,headers=headers,data=post_data)
json_fi_result = json.loads(response_fi.text)
return json_fi_result['result']['face_list']
#下边的print也许是最直观,你最想要的
#print(json_fi_result['result']['face_list'][0]['age'])
#print(json_fi_result['result']['face_list'][0]['beauty']) #此函数用于解析进行人脸图片,输出图片上的人脸的性别、年龄、颜值
#此函数调用get_access_token、identify_faces
def parse_face_pic(self,url_pic):
#调用get_access_token获取access_token
access_token = self.get_access_token()
url_fi = 'https://aip.baidubce.com/rest/2.0/face/v3/detect?access_token=' + access_token
#调用identify_faces,获取人脸列表
json_faces = self.identify_faces(url_pic,url_fi)
if len(json_faces) == 0:
print('未识别到人脸')
else:
for json_face in json_faces:
print('种类:'+json_face['face_type']['type'])
print('性别:'+json_face['gender']['type'])
print('年龄:'+str(json_face['age']))
print('颜值:'+str(json_face['beauty'])) if __name__ == '__main__':
#uil_pic赋值成自己要测试的图片的url地址
url_pic = 'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1357154930,886228461&fm=27&gp=0.jpg'
bfi = BaiduFaceIdentify()
bfi.parse_face_pic(url_pic)
运行结果载图:

参考:
https://blog.csdn.net/shuihupo/article/details/79866439
http://ai.baidu.com/docs#/Face-Detect-V3/top
Python3+BaiduAI识别高颜值妹子图片的更多相关文章
- Python3+selenium+BaiduAI识别并下载花瓣网高颜值妹子图片
一.说明 1.1 背景说明 上周在“Python3使用百度人脸识别接口识别高颜值妹子图片”中自己说到在成功判断颜值后,下截图片并不是什么难点. 直观感觉上确实如此,你判断的这个url适不适合下载,适合 ...
- 刷抖音太累,教你用Python把高颜值的小姐姐都爬下来慢慢看
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 星安果.AirPython 目 标 场 景 相信大家平时刷抖音短视频 ...
- IDEA高颜值之最吸引小姐姐插件集合!让你成为人群中最靓的那个崽!
经常有小伙伴会来找TJ君,可能觉得TJ君比较靠谱,要TJ君帮忙介绍女朋友.TJ君一直觉得程序猿是天底下最可爱的一个群体,只不过有时候不善于表达自己的优秀,所以TJ君今天准备介绍几款酷炫实用的IDEA插 ...
- jQuery 人脸识别插件,支持图片和视频
jQuery Face Detection 是一款人脸检测插件,能够检测到图片,视频和画布中的人脸坐标.它跟踪人脸并输出人脸模型的坐标位置为一个数组.我们相信,面部识别技术能够给我们的 Web 应用带 ...
- 移动Web—CSS为Retina屏幕替换更高质量的图片
来源:互联网 作者:佚名 时间:12-24 10:37:45 [大 中 小] 点评:Retian似乎是屏幕显示的一种趋势,这也是Web设计师面对的一个新挑战;移动应用程序的设计师们已经学会了如何为Re ...
- Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)
这道题是一道爬虫练习题,需要爬链接http://tieba.baidu.com/p/2166231880里的所有妹子图片,点进链接看一下,这位妹子是日本著名性感女演员--杉本由美,^_^好漂亮啊,赶紧 ...
- python模块之imghdr(识别不同格式的图片文件)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python模块之imghdr(识别不同格式的图片文件) import imghdr '''>> ...
- 使用 FFmpeg 处理高质量 GIF 图片
使用 FFmpeg 处理高质量 GIF 图片 - 为程序员服务 http://ju.outofmemory.cn/entry/169845
- 用python爬取全网妹子图片【附源码笔记】
这是晚上没事无聊写的python爬虫小程序,专门爬取妹子图的,养眼用的,嘻嘻!身为程序狗只会这个了! 废话不多说,代码附上,仅供参考学习! """ 功能:爬取妹子图全网妹 ...
随机推荐
- Spring-MVC依赖
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api& ...
- [从零开始搭网站二]服务器环境配置:Mac电脑连接CentOS不用每次都输入密码
上一篇讲了如何购买服务器,并且***.看这里的第一篇文章: 从零开始搭网站 从这里开始的文章,我会默认大家都是最起码是入门级的程序员,如果你完全不懂我在说什么,那就退出好了. 作为开发人员,接下来为了 ...
- 项目Alpha冲刺--4/10
项目Alpha冲刺--4/10 1.团队信息 团队名称:基于云的胜利冲锋队 成员信息 队员学号 队员姓名 个人博客地址 备注 221500201 孙文慈 https://www.cnblogs.com ...
- ubuntu 中文设置
1,安装中文语言包 sudo apt-get install language-pack-zh-hans sudo update-locale LANG=zh_CN.UTF-8 添加中文支持: sud ...
- Linux中ulimit -c生成core文件()
理解这六个shell脚本语言的功能 echo "kernel.core_pattern = /tmp/core-%e-%p-%t" >> /etc/sysctl.con ...
- jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第一话):初次启动jenkins,输入给定密码后登录失败问题解决
Jenkins是一个持续集成平台,它能够从git等源码管理服务器拉取代码.打包并发布到tomcat等中间件,只要配置好相关插件,就可以做到项目的自动化构建.部署,不论是对开发来说监控代码质量,还是对测 ...
- C# 连接PDA扫码枪
Symbol扫码枪开发文档 一.主要功能 实现symbol扫码枪和PC数据交互. 二.运行环境 SymbolMC32NO 三.开发工具与软件 开发环境:Win7 开发语言:C# 数据库:Sql Ser ...
- [Solution] The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path
HttpServlet需要tomcat等. 右键project点开properties>project facets> 在右侧栏的Runtime tab中勾选tomcat或者新建tomca ...
- Can't push you anymore...
为什么我们不趁着年轻去冒险? 等我们准备好,也许都已经被生活冲淡了激情. Go to different places,to meet different people. To try, to fin ...
- Using the G711 standard
Using the G711 standard Marc Sweetgall, 28 Jul 2006 4.74 (27 votes) 1 2 ...