python
百度云账号
创建成功后,会得到 API Key(AK) 和 Secret Key(SK)。这个记住,下面有用。
先创建一个文件,命名为 token.py,填入图片中的代码。# encoding:utf-8import urllib, urllib2, sysimport ssl, json AK = 'fGTcxxxxxxxxxxxxxk68c'SK = 'vKUxxxxxxxxxxxxxxxxxxxxxxxxxGq2u'# token 请求 url 与图片不一样host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials'\ '&client_id=%s'\ '&client_secret=%s' % (AK, SK)def GetToken(): request = urllib2.Request(host) request.add_header('Content-Type', 'application/json; charset=UTF-8') response = urllib2.urlopen(request) content = response.read() if (content): js = json.loads(content) return js['access_token'] return None
再新建一个文件 recg.py,这个就是人脸识别的代码了,代码见图片。将【图片1】和【图片2】改成自己需要比对的两张人脸图片路径就可以了。# encoding:utf-8import base64import urllibimport urllib2, jsonfrom token import GetToken''' 人脸对比 '''url = 'https://aip.baidubce.com/rest/2.0/face/v2/match'def FaceRecg(face1, face2, token): f = open(face1, 'rb') # 参数images:图像base64编码 img1 = base64.b64encode(f.read()) # 二进制方式打开图文件 f = open(face2, 'rb') # 参数images:图像base64编码 img2 = base64.b64encode(f.read()) params = {'images':img1 + ',' + img2} params = urllib.urlencode(params) request_url = url + '?access_token=' + token request = urllib2.Request(url=request_url, data=params) request.add_header('Content-Type', 'application/x-www-form-urlencoded') response = urllib2.urlopen(request) content = response.read() if content: js = json.loads(content) for item in js['result']: print(u'%2.2f%% 可能是同一人' % (float(item['score'])))if __name__ == '__main__': FaceRecg('【图片1】', '【图片2】', GetToken()) #前面两个参数是图片路径
这里是一个使用示例。
对星爷识别的结果还不错。还有yuko妹妹和凤姐的比对。更多详细的信息可以参考: