Python3使用百度人脸识别接口识别高颜值妹子图片

一、在百度云平台创建应用

为什么要到百度云平台创建应用,首先来说是为了获取获取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

原文地址:https://www.cnblogs.com/lsdb/p/9190944.html

时间: 2024-10-16 14:30:48

Python3使用百度人脸识别接口识别高颜值妹子图片的相关文章

Python3+scrapy+selenium+BaiduAI识别并下载花瓣网高颜值妹子图片

一.说明 1.1 背景说明 上周在"Python3使用百度人脸识别接口识别高颜值妹子图片"中自己说到在成功判断颜值后,下截图片并不是什么难点. 直观感觉上确实如此,你判断的这个url适不适合下载,适合我就去下不适合就不去下,这算什么难点呢. 但事实经常没有想象的那么简单,所以决定去验证一下.结果再次证实自己想简单了,程序的编写和调试花了一周的业余时间,好在总算完成了. 1.2 程序编写过程说明 我以花瓣网http://huaban.com/favorite/beauty/入手,首先确定

用PHP调用证件识别接口识别本地图片

前置条件 在开始前,请作如下准备:1.学会用PHP输出"Hello World" 2.去聚合数据申请证件识别专用的KEY:https://www.juhe.cn/docs/api/id/153 操作步骤 1.配置好PHP开发环境 2.在相应的本地网站根目录下新建一个文件夹并命名为:card 3.请准备一张jpg格式的身份证照片(本示例中的图片来自网络),并命名为1.jpg,放在card目录 4.请务必确保PHP对1.jpg有读权限(先用fopen('1.jpg', 'r')测试一下) 

Node批量抓取高清妹子图片

node爬虫很有意思,看大神都是各种爬小说,爬图片,爬视频等等.自己也是刚了解,希望可以共同学习~ 代码如下: //依赖模块 var fs = require('fs'); var request = require("request"); var cheerio = require("cheerio"); var mkdirp = require('mkdirp'); //目标网址 var url = 'http://www.win4000.com/meinvta

python—多协程爬取斗鱼高颜值美女图片

1 import requests 2 from bs4 import BeautifulSoup 3 from urllib import request 4 # import threading 5 import gevent 6 from gevent import monkey 7 8 monkey.patch_all() 9 10 def get_html_text(url): 11 try: 12 r = requests.get(url, timeout=10) 13 r.rais

百度人脸识别SDK学习

之前看到同事说人脸识别多么高大上之类的, 我就好奇搜索了一下, 本人是小白级别,喜欢用百度多一点,所以就使用了百度的人脸识别SDK进行研究.不得不说百度提供的完档很详细,在学习过程中很少出现不能解决的问题, 所以本人也偷个懒,把sdk文档复制下来. 注:貌似有个bug,我在百度语音中菜单下创建的人脸识别,然后获取API_key和Secret_key, 在学习尝试过程中, 或多或少有请求量, 但是报表中却没有任何记录, 难道是bug吗? 我在想是不是可以无限制的调用了,作为尝试, 没去批量去测试,

C#30分钟完成百度人脸识别

一.前言   距离上次入门篇时隔两个月才出这进阶篇,小编惭愧,对不住关注我的卡哇伊的小伙伴们,为此小编用这篇博来谢罪. 前面的准备工作我就不说了,注册百度账号api,创建web网站项目,引入动态链接库引入. 不了解的可以花费10分钟移步学习:<C# 10分钟完成百度人脸识别—入门篇>. 如果要学习的童鞋最好下载本demo源码,因为有信息入库功能,BLL.DAL.数据库就在源码里面. 一般情况下笔记本自带的可见光摄像头就可以进行人脸识别,但是这种摄像头不能很好的进行活体检测,可能会被照片和视频骗

uniapp安卓ios百度人脸识别、活体检测、人脸采集APP原生插件

插件亮点 1 支持安卓平板(横竖屏均可),苹果的iPad.2 颜色图片均可更换. 特别提醒 此插件包含 android 端和 iOS 端,考虑到有些同学只做其中一个端的 app,特意分为 2 个插件,减小安装包体积.android 端请点击这里.iOS 端请点击这里. 1.前言 最近在使用 uniapp 开发项目,有刷脸实名认证的需求,最终使用百度人脸识别实现了需求.自己做了个 APP 原生插件,给大家介绍下用法.本插件主要功能是通过动作检测活体,采集人脸返回.其他功能需要自主实现,如刷脸登录,

阿里巴巴人脸识别接口--phpsdk

这两天接的小程序用了阿里云的openapi--人脸识别接口,对接口这种工作人人都会,不过还是讲下大体流程和代码以备不时之需 先进入人脸识别文档,开通该服务 https://help.aliyun.com/document_detail/53378.html?spm=a2c4g.11186623.6.542.5b841f16upd9vN 然后建立RAM子账号,并设置accessKey,并记下两个参数 使用阿里云新版php-sdk https://github.com/aliyun/openapi-

人脸检测及识别python实现系列(4)——卷积神经网络(CNN)入门

人脸检测及识别python实现系列(4)--卷积神经网络(CNN)入门 上篇博文我们准备好了2000张训练数据,接下来的几节我们将详细讲述如何利用这些数据训练我们的识别模型.前面说过,原博文给出的训练程序使用的是keras库,对我的机器来说就是tensorflow版的keras.训练程序建立了一个包含4个卷积层的神经网络(CNN),程序利用这个网络训练我的人脸识别模型,并将最终训练结果保存到硬盘上.在我们实际动手操练之前我们必须先弄明白一个问题--什么是卷积神经网络(CNN)? CNN(Conv