目 录
1.作者介绍2.阿里云OCR算法介绍2.1 OCR介绍2.2 基于阿里云的OCR算法介绍3.1 实验过程3.2 实验代码3.3 实验结果1.作者介绍
王柯欣,女,西安工程大学电子信息学院,级硕士研究生
研究方向:模式识别与人工智能
电子邮件:787576194@
孟莉苹,女,西安工程大学电子信息学院,级硕士研究生,张宏伟人工智能课题组
研究方向:机器视觉与人工智能
电子邮件:2425613875@
2.阿里云OCR算法介绍
2.1 OCR介绍
OCR,即图像文字的识别和理解;OCR前期是识别图片中的文字,即找到文字的位置,然后识别是什么字。后期在原本文字识别的基础上进行文字理解,文字理解是文字识别的一个应用。OCR根据空间关系和语义的了解输出用户想要的结果。
2.2 基于阿里云的OCR算法介绍
阿里云视觉智能开放平台()是基于阿里巴巴视觉智能技术实践经验,提供视觉智能API服务,帮助企业、开发者快速建立视觉智能技术的应用能力的综合性视觉AI能力平台。基于阿里云的OCR算法(AI技术),能够快速准确识别各种网络图片中的不规则文字,支持手写文字识别,在复杂字体和复杂背景的情况下仍保持非常高的识别准确率。
应用场景:机票,验证码识别,海报,实体广告识别,微商广告,百度贴吧,淘宝图文识别,演唱会门票等。
3.调用阿里API实现图片验证码识别
3.1 实验过程
进入阿里云官网(/)注册账号并登录
点击“云市场”→“API市场”→“人工智能”
找到产品:“通用文字识别-高精版OCR文字识别”
注册并开通文字识别免费额度
在“控制台”-“产品与服务”中找到“云市场”
在已购买的通用文字识别服务中,找到AppCode,稍后需要粘贴在代码中
此外,我们可以通过接口文件,查询接口地址,请求方式,和验证方式
接下来建立数据集,选择的数据集都是比较简单的验证码图片。这里保存的都是本地图片,图片格式为 .png
3.2 实验代码
使用python对阿里云的图片识别算法接口API,识别验证码中文字,图像数据可使用base64编码和url参数(只能同时使用一种格式),要求base64编码后大小不超过4M,图像越小效率越高,支持jpg/png/bmp格式。
#python3import urllib.requestimport urllib.parseimport jsonimport timeimport base64# 本地图片image_path = r'图片地址'with open(image_path, 'rb') as f: # 以二进制读取本地图片data = f.read()encodestr = str(base64.b64encode(data),'utf-8') # base64编码图片# 请求头headers = {'Authorization': 'APPCODE ***自己的APPCODE***', # APPCODE +你的appcod,一定要有空格!!!'Content-Type': 'application/json; charset=UTF-8' # 根据接口的格式来}def posturl(url,data={}):try:params=json.dumps(dict).encode(encoding='UTF-8')req = urllib.request.Request(url, params, headers)r = urllib.request.urlopen(req)html =r.read()r.close();return html.decode("utf8")except urllib.error.HTTPError as e:print(e.code)print(e.read().decode("utf8"))time.sleep(1)if __name__=="__main__":url_request="https://gjbsb./ocrservice/advanced" # 对照官网API改dict = {'img': encodestr}html = posturl(url_request, data=dict)jos = json.loads(html.encode("utf-8").decode("utf-8")) # str转json对象,<class 'dict'>result = jos['content'] # 就可以按key取值了print('识别的结果:',result)
3.3 实验结果
程序运行成功后,验证码基本能够被正确识别,识别结果如下图所示
分析实验结果可以看出,图片识别准确率较高,但存在细微误差,并且创建的数据集样本较少,本次实验能够快速准确识别各种网络图片中的不规则文字,支持手写文字识别,在复杂字体和复杂背景的情况下仍保持非常高的识别准确率
如果觉得《调用阿里API实现图片验证码识别》对你有帮助,请点赞、收藏,并留下你的观点哦!