python-通过AipOcr百度库对图片验证码进行ocr识别

应用介绍
  • 一般测试时,很多操作场景需要验证码;而对于图片的验证只能解析出来进行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

验证码:


image.png

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

百度智能云链接:https://console.bce.baidu.com/ai/7

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容