需要导入的包:

必备模块:import urllib

请求模块:import urllib.request

解析模块:import urllib.parse  可以拆分URL,也可以拼接URL

数据交换格式:import json

需要输入的参数是:

URL地址

method方式:POST

API_KEY:自己申请的号

body:字典,有type;POST的参数:image_1:image的路径+图片

headers:请求头部  {'content-type': 'application/json'}或者('Authorization', 'APPCODE ' + appcode)

涉及到的封装好的方法:

data1 = json.dumps(bodys):将输入的body字典转化成json格式(Python 对象编码成 JSON 字符串)

data2 = data1.encode('utf-8'):将utf-8的编码格式通过encode编码成python对象是别的Unicode的格式

req1= urllib.request.Request(url, data) :使用request包里面的Request的方法,对该网址发出POST请求,还要附加data2

request.add_header('Authorization', 'APPCODE ' + appcode)和参数('Content-Type', 'application/json; charset=UTF-8')  请求头

response = urllib.request.urlopen(req1):将上述请求得到的结果,通过request里面的urlopen的方法,返回一个类文件对象

content = response.read():对上述获得的类文件对象读取内容

然后就可以打印出读取到的content,看看服务器给你响应了写啥玩意

json.loads 将已编码的 JSON 字符串解码为 Python 对象

代码

前面一个是,输入两张图片,输出两张图片的相似度

后面是,依次遍历lfw人脸识别的数据集,每次输入两张图片,对应输出一个结果

import urllib
import urllib.request
import urllib.parse
import jsonhost = 'http://rlsbbd.market.alicloudapi.com'
path = '/face/verify'
method = 'POST'
appcode = '5axxxxxx39e7xxxxxxxx1fb7'
querys = ''
bodys = {}
url = host + pathbodys = {"type": 0,"image_url_1": "http://vis-www.cs.umass.edu/lfw/images/David_Beckham/David_Beckham_0011.jpg","image_url_2": 'http://vis-www.cs.umass.edu/lfw/images/David_Beckham/David_Beckham_0029.jpg'}
post_data = json.dumps(bodys)
post_data = post_data.encode('utf-8')
request = urllib.request.Request(url, post_data)
request.add_header('Authorization', 'APPCODE ' + appcode)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib.request.urlopen(request)
content = response.read()
if (content):print(content)
return content
import urllib
import urllib.request
import urllib.parse
import time
import jsondef compare(image1,image2):host = 'http://rlsbbd.market.alicloudapi.com'path = '/face/verify'method = 'POST'appcode = '5axxxxxxx39exxxxxxxxxxa1fb7'querys = ''bodys = {}url = host + pathbodys = {"type":0,"image_url_1":image1,"image_url_2":image2}post_data = json.dumps(bodys)post_data = post_data.encode('utf-8')request = urllib.request.Request(url, post_data)request.add_header('Authorization', 'APPCODE ' + appcode)request.add_header('Content-Type', 'application/json; charset=UTF-8')response = urllib.request.urlopen(request)content = response.read()if (content):print(content)return contentdef compare_test():lfw_file = open("pairs.txt")res_file1 = open("f1.txt", "a+")res_file2 = open("f2.txt", "a+")count = 0while 1:image_path = "http://vis-www.cs.umass.edu/lfw/images/"line = lfw_file.readline()if not line:breakline = line.strip('\n')images = line.split('\t')if len(images) > 3:register_image = image_path + images[0] + "/" + images[0] + "_"if len(images[1]) < 2:register_image = register_image + "000" + images[1] + ".jpg"elif len(images[1]) < 3:register_image = register_image + "00" + images[1] + ".jpg"elif len(images[1]) < 4:register_image = register_image + "0" + images[1] + ".jpg"else:register_image = register_image + images[1] + ".jpg"verify_image = image_path + images[2] + "/" + images[2] + "_"if len(images[3]) < 2:verify_image = verify_image + "000" + images[3] + ".jpg"elif len(images[3]) < 3:verify_image = verify_image + "00" + images[3] + ".jpg"elif len(images[3]) < 4:verify_image = verify_image + "0" + images[3] + ".jpg"else:verify_image = verify_image + images[3] + ".jpg"else:register_image = image_path + images[0] + "/" + images[0] + "_"if len(images[1]) < 2:register_image = register_image + "000" + images[1] + ".jpg"elif len(images[1]) < 3:register_image = register_image + "00" + images[1] + ".jpg"elif len(images[1]) < 4:register_image = register_image + "0" + images[1] + ".jpg"else:register_image = register_image + images[1] + ".jpg"verify_image = image_path + images[0] + "/" + images[0] + "_"if len(images[2]) < 2:verify_image = verify_image + "000" + images[2] + ".jpg"elif len(images[2]) < 3:verify_image = verify_image + "00" + images[2] + ".jpg"elif len(images[2]) < 4:verify_image = verify_image + "0" + images[2] + ".jpg"else:verify_image = verify_image + images[2] + ".jpg"content = compare(register_image, verify_image)content = str(content)content = content.strip('b\'')content = json.loads(content)if (int(count / 300)) % 2 == 0:flag = 1else:flag = 0if 'confidence' in content.keys():score = content['confidence']else:score = '-1'if flag == 1:res_file1.write(line + '\t' + str(score) + '\t' + str(flag) + '\n')elif flag==0:res_file2.write(line + '\t' + str(score) + '\t' + str(flag) + '\n')count += 1time.sleep(3)lfw_file.close()res_file1.close()res_file2.close()compare_test()

附加:

py文件中的编码

utf-8是 unicode的一种实现方式,unicode、gbk、gb2312是编码字符集.

Python 默认脚本文件都是 ANSCII 编码的,当文件 中有非 ANSCII 编码范围内的字符的时候就要使用"编码指示"来修正一个 module 的定义中,如果.py文件中包含中文字符(严格的说是含有非anscii字符),则需要在第一行或第二行指定编码声明:# -*- coding=utf-8 -*- 或者 #coding=utf-8
其他的编码如:gbk、gb2312也可以;否则会出现:

SyntaxError: Non-ASCII character '\xe4' in file test.py on line 3,

python 编码转换函数

unicode 转为 gb2312,utf-8等,使用 encode(encoding)

s = u'中国'
s_gb = s.encode('gb2312')

utf-8,GBK转换为 unicode 使用 unicode(s,encoding) 或者 s.decode(encoding)

s = u'中国'
#s为unicode先转为utf-8
s_utf8 =  s.encode('UTF-8')
assert(s_utf8.decode('utf-8') == s)

阿里云平台的人脸识别接口测试相关推荐

  1. 基于翔云OCR云平台的人脸识别(1)

    基于翔云OCR云平台的人脸识别 本节通过翔云OCR云平台来实现人脸识别.调用人脸对比API,通过https post方式向云服务器提交两张需要对比的图片Base64流以及其他信息,云服务器处理后返回判 ...

  2. C语言实现基于翔云平台的人脸识别demo1(linux)

    C语言实现基于翔云平台的人脸识别demo1(linux) 实现的目标 安装openssl第三方的库 安装libcurl第三方的库 购买使用翔云平台人脸识别的次数 libcurl的使用 **参考以下博文 ...

  3. 基于翔云OCR云平台的人脸识别(2)

    基于翔云OCR云平台的人脸识别(2) 项目思路 raspistill命令的相关参数说明 -v:调试信息查看 -w:图像宽度 -h:图像高度 -rot:图像旋转角度,只支持 0.90.180.270 度 ...

  4. C语言实现基于翔云平台的人脸识别demo2(树莓派)

    C语言实现基于翔云平台的人脸识别demo2(树莓派3B) 实现目标 树莓派安装mjpg-streamer 在树莓派下依次执行以下指令 修改start.sh文件(用来开启摄像头进行监控) A:树莓派摄像 ...

  5. 【探花交友DAY 03】个人信息完善 阿里云OSS百度人脸识别引入 统一Token和异常处理

    1. 阿里云OSS和百度人脸识别 1.1 需求分析 在登录判断的时候,我们需要根据用户的手机号查询用户是否为新用户,如果为新用户,那么在登录完成后需要跳转到完善用户信息界面,用户需要设置性别,头像和昵 ...

  6. 基于翔云平台做人脸识别

    目录 1.[翔云人脸识别的API](https://www.netocr.com/face.html) 1.1 图片img上传是以base64流的形式上传 2.代码 1.翔云人脸识别的API 1.1 ...

  7. Android平台上实现身份证识别(通过阿里云Api-印刷文字识别_身份证识别)

    Android平台上实现身份证识别(通过阿里云Api-印刷文字识别_身份证识别) 一: 前言 继上一篇文章有段时间了,上一篇文章的身份证和银行卡的识别时通过本地的opencv库,tess-two库识别 ...

  8. Android平台上实现银行卡识别(通过阿里云Api-印刷文字识别_银行卡识别)

    Android平台上实现银行卡识别(通过阿里云Api-印刷文字识别_银行卡识别) 一: 前言 上一篇文章是通过阿里云Api实现在android中扫描身份证和从相册中选取身份证图片识别身份证信息的功能, ...

  9. GB28181/RTSP/Onvif/HikSDK/Ehome协议视频共享平台EasyCVR人脸识别系统助力打造智慧安检系统

    一.项目需求 随着经济及交通的发展,海关和陆路边境口岸之间每天都有大量的人和货物在此周转,随之而来的安检工作也越来越重要,检查藏匿的违禁品和危险品一直是相关安全部门的重要工作.一套人行.物检等全方位的 ...

最新文章

  1. python爬虫日志(9)爬取代理
  2. DB性能调优之RAID比较
  3. Cissp-【第4章 通信与网络安全】-2021-3-14(476页-542页)
  4. BQ24296充电管理芯片使用过程中的注意事项
  5. 【PC工具】chrome插件: Github 项目代码树形格式展示工具octotree
  6. 如何利用C/C++逐行读取txt文件中的字符串(可以顺便实现文本文件的复制)
  7. 【C语言】控制台窗口图形界面编程(六):光标设置
  8. LeetCode 1945. 字符串转化后的各位数字之和
  9. Python模拟大整数乘法的小学竖式计算过程
  10. Linux防火墙端口设置和mysql端口开放的navicat整合
  11. 第12章[12.8] Spring Boot+Ext JS 实现图形验证码
  12. 45. PHP 过滤器(Filter)
  13. 三、实战小例程 基于STM32F103C8T6最小系统板和STM32CubeMX驱动WS2812B光立方
  14. 六年级计算机测试题logo,LOGO语言基础知识测试题2017(含答案)
  15. 西门子界面官方精美触摸屏+WINCC程序模板 西门子官方触摸屏程序模板,炫酷的扁平式动画效果
  16. D525安装黑群晖DSM6.1.7教程
  17. github协同工作流程(一)
  18. 《逆袭进大厂》第十三弹之Redis重点篇
  19. ROS(Robot Operating SysTerm) 系统
  20. 【SDOI2009】学校食堂

热门文章

  1. 【论文】铁路综合视频监控系统图像质量诊断技术研究
  2. Halcon快速读取点云的方法
  3. C#,码海拾贝(24)——求解“复系数方程组”的“全选主元高斯-约当消去法”之C#源代码
  4. SpringCloud笔记(三)微服务应用
  5. PHM(prognostics and health management健康管理系统)
  6. 教你如何下载微信公众号的音频文件
  7. 【C语言扫雷的实现】
  8. 窄带物联网(NB-IoT)
  9. 直接调用python3.6(做一个软连接)
  10. Mybatis源码阅读之二——模板方法模式与Executor