阿里云在线试题OCR接口识别python 3.7

      目前做OCR的试题图片的识别工作,由于阿里云提供了免费的OCR的接口,免费调用500次,借着学习的目标就开始使用。由于本人使用的是macbook Pro 系统为最新的10.15版本,python是3.7的版本,按照原版的阿里云接口调用模板就无法使用,为了兼容及特别改写了基于此版本的接口调用模板。原版的urllib2实在是无法正常使用,使用最新的urllib3去创建request。


import urllib3

import base64

import json


with open('/Users/yannic/Downloads/2.jpeg', 'rb')as f:# 以二进制读取本地图片

    data = f.read()

encodestr = base64.b64encode(data)# 得到 byte 编码的数据

    strImageData =str(encodestr, 'utf-8')# 重新编码数据

jsonData = {'image': strImageData, 'configure':'{"is_keypoints":true}'}# 阿里云接口调用需要的字典类型

host ='https://education.market.alicloudapi.com'  # 阿里云接口调用域名地址及协议

path ='/api/predict/education_ocr'  # 阿里云接口URI路径

method ='POST'  # 请求方式为POST

appcode ='xxxxxxxxxxxxxxxxxxxxxxxxx'  # appcode,参考阿里云的创建方式

url = host + path

Header = {'Content-Type':'application/json;charset=utf-8', 'Authorization':'APPCODE ' + appcode}# 设置请求的header参数

encoded_data = json.dumps(jsonData)# Python 字典类型转换为 JSON 对象

http = urllib3.PoolManager(num_pools=5)# PoolManager实例来生成请求,由该实例对象处理与线程池的连接以及线程安全的所有细节

responseData = http.request(method, url, body=encoded_data, headers=Header)

jsonStr = responseData.data.decode(encoding="utf-8")# 将数据进行编码转换

print(jsonStr)

你可能感兴趣的:(阿里云在线试题OCR接口识别python 3.7)