一、目的
使用python对阿里云的车牌识别算法接口API,识别蓝牌、新能源车牌、白牌等,图片大小要求100k以上,按照步骤即可。
阿里云网站:https://market.aliyun.com/products/57124001/cmapi032750.html?spm=5176.2020520132.101.4.18f07218zGbkyH#sku=yuncode2675000001
在网站找到相应算法,购买,得到appcode、appkey、appsecret。
二、调用地址:
示例:http(s)😕/iplatecard.market.alicloudapi.com/ai_market/ai_ocr_universal/license_plate/v2
其中host= http(s)😕/iplatecard.market.alicloudapi.com
Path=/ai_market/ai_ocr_universal/license_plate/v2
三、请求方式:POST
四、返回类型:JSON
五、使用工具
Pycharm、
Base64工具:https://tool.css-js.com/base64.html
图片URL生成:https://sm.ms/
六、Python代码
直接将以下复制到pycharm。
# -*- coding: UTF-8 -*-
import urllib
import urllib.request
import time
import base64
#UUID采用当前程序运行时间,用于防止重放攻击,开发者可根据自己需求,自定义字符串
UUID = str(time.time())
#API产品路径,根据你自己的修改
host = 'http://iplatecard.market.alicloudapi.com'
path = '/ai_market/ai_ocr_universal/license_plate/v1'
#阿里云APPCODE,根据自己的填下边
appcode = '你的appcode '
bodys = {}
url = host + path
#内容数据类型,如:0,则表示BASE64编码;1,则表示图像文件URL链接
#启用BASE64编码方式进行识别
#内容数据类型是BASE64编码
#f = open(r'图片文件', 'rb')
#contents = base64.b64encode(f.read())
#f.close()
#bodys['IMAGE'] = contents
#bodys['IMAGE_TYPE'] = '0'
#启用URL方式进行识别
#内容数据类型是图像文件URL链接
bodys['IMAGE'] = 'https://i.loli.net/2019/11/27/uec9dmaFxAOhYMW.jpg
'
bodys['IMAGE_TYPE'] = '1'
post_data = urllib.parse.urlencode(bodys).encode('utf-8')
request = urllib.request.Request(url, post_data)
request.add_header('Authorization', 'APPCODE ' + appcode)
request.add_header('Content-Type',
'application/x-www-form-urlencoded; charset=UTF-8')
request.add_header('X-Ca-Nonce', UUID)
response = urllib.request.urlopen(request)
content = response.read()
if (content):
print(content.decode('utf-8'))
七、运行py文件,得到结果,正常结果示例。
{
"CAR_NUMBER_RECOGNITION_STATUS":"OK",
#车辆车牌识别状态
"TYPE":"BLUE",
#车辆车牌类型
"NUMBER": 图片里的车牌号
#车辆车牌号
"CAR_NUMBER_RECOGNITION_PROBABILITY":"0.9811908347266061", #车辆车牌识别置信度
"CAR_NUMBER_POSITION":"198, 108, 403, 162", #车辆车牌图像所在坐标
"CAR_NUMBER_BELONG_TO":"闽C", #车辆车牌所属地标识符
"CAR_NUMBER_BELONG_TO_PROVINCE":"福建省",
#车辆车牌所属省份
"CAR_NUMBER_BELONG_TO_CITY":"泉州市" #车辆车牌所属城市
}
八、个人总结,欢迎评论指正