应用介绍
- 一般测试时,很多操作场景需要验证码;而对于图片的验证只能解析出来进行ocr识别
- 网上有很多可以本地引用的库或者插件做到识别,但识别率其实都不高;此次推荐百度的OCR识别;识别率达到90%以上,百度的技术还是杠杠滴
- 但有优点就有缺点:是在线的非离线,另外个人每年只有九千次使用(对于常规使用足够了)
1、Python利用AipOcr百度库,调用
from aip import AipOcr
#文字识别高精度版本
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
def image_ocr(image_time):
# 你的 APPID AK SK,此处星号是屏蔽我个人的账号信息
APP_ID = '202020**'
API_KEY = 'uhMGsRGpsDxml4dlfBydnF**'
SECRET_KEY = '7u1sWja8fzzsseIApgwCGW08vK085X**'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
image = get_file_content(image_time)
# 调用通用文字识别(高精度版) """
client.basicAccurate(image);
#如果有可选参数 """
options = dict()
options["detect_direction"] = "false"
options["probability"] = "true"
options["language_type"]="ENG"
#带参数调用通用文字识别(高精度版) """
data_ocr=client.basicAccurate(image, options)
print(data_ocr)
data_ocr=data_ocr["words_result"][0]["words"].replace(" ", "") if data_ocr["words_result"] else list()
return data_ocr
验证码:
2、直接调用,传入图片即可
if __name__ == '__main__':
baidu_ocr.image_ocr('file.png')
响应的结果(words即识别值):
{'words_result': [{'probability': {'average': 0.9947260022163391, 'min': 0.9865118265151978, 'variance': 3.381822534720413e-05}, 'words': 'RU 23'}], 'log_id': 1372553925130977280, 'words_result_num': 1}
注意:这里import的虽是apioct,但实际pip install 需要baidu-aip