# -*- coding: UTF-8 -*-
import json
import requests, json
from flask import Flask, request
import logging
logging.basicConfig(level=logging.INFO #设置日志输出格式
, filename="../../health-code/log" #log日志输出的文件位置和文件名
, filemode="w" #文件的写入格式,w为重新写入文件,默认是追加
, format="%(asctime)s - %(name)s - %(levelname)-9s - %(filename)-8s : %(lineno)s line - %(message)s" #日志输出的格式
# -8表示占位符,让输出左对齐,输出长度都为8位
, datefmt="%Y-%m-%d %H:%M:%S" #时间输出的格式
)
app = Flask(__name__)
process_num = 0;
class baidu_api():
def get_access_token(self, apikey, secretkey):
access_token = None
# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s'
host = host % (apikey, secretkey)
response = requests.get(host)
if response:
json = response.json()
access_token = json['access_token']
return access_token
# 添加header解决跨域
@app.after_request
def after_request(response):
response.headers['Access-Control-Allow-Origin'] = '*'
response.headers['Access-Control-Allow-Credentials'] = 'true'
response.headers['Access-Control-Allow-Method'] = 'POST, GET, OPTIONS, DELETE, PATCH, PUT'
response.headers['Access-Control-Allow-Headers'] = '*'
return response
@app.route('/facediff', methods=["POST"])
def facediff():
"""
人脸相似度对比接口
:return:
"""
global process_num
request_url = "https://aip.baidubce.com/rest/2.0/face/v3/match"
data = json.loads(bytes.decode(request.data))
process_num += 1
logging.info('调用{%s}次' % str(process_num))
if 'params' in data:
params = data['params']
params_image_0 = params[0]['image']
params_image_1 = params[1]['image']
if ';base64,' in params_image_0:
params[0]['image'] = params_image_0.split(';base64,')[1]
if ';base64,' in params_image_1:
params[1]['image'] = params_image_1.split(';base64,')[1]
# params = json.dumps(params)
else:
return None
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/json'}
response = requests.post(request_url, json=params, headers=headers)
result_new = {'result': False}
if response:
res_json = response.json()
result = res_json['result']
if 'score' in result:
score = int(result['score'])
logging.info('人脸对比分数:{%s}' % str(round(result['score'], 2)))
if score > 80:
result_new['result'] = True
return result_new
if __name__ == '__main__':
# 联系作者提供 apikey secretkey
apikey, secretkey = '', ''
access_token = baidu_api().get_access_token(apikey, secretkey)
app.run(host='0.0.0.0', port=8010)
没有合适的资源?快使用搜索试试~ 我知道了~
人脸相似度对比源代码,接口文档,部署文件
1 下载量 70 浏览量
2022-10-25
12:31:42
上传
评论
收藏 15KB GZ 举报
温馨提示
共3个文件
sh:1个
md:1个
py:1个
人脸相似度对比源代码。上传包含人脸的两张图片,即可比较出是否是同一个人。 参考博客: https://blog.csdn.net/qq122716072/article/details/127382452 中的[人脸相似度对比]说明,接口文档
资源推荐
资源详情
资源评论
收起资源包目录
facediff.tar.gz (3个子文件)
facediff
人脸相似度对比接口文档.md 19KB
facecontrast_server.py 3KB
start.sh 48B
共 3 条
- 1
资源评论
GeekPlusA
- 粉丝: 193
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功