龙空技术网

五十八、UiPath如何调用百度OCR(转)

lgz1997one 54

前言:

今天兄弟们对“python执行不了baidu aip”大概比较讲究,小伙伴们都想要知道一些“python执行不了baidu aip”的相关资讯。那么小编同时在网上网罗了一些关于“python执行不了baidu aip””的相关资讯,希望看官们能喜欢,你们快快来学习一下吧!

百度OCR的介绍

百度OCR提供了多种场景下精准图像文字识别技术服务, 精准识别超99%, 并且可以免费试用. 详情大家可以去百度智能云官网了解, 地址是

二、百度OCR在UiPath中的使用

在使用百度OCR之前, 我们需要先在百度注册一个账号, 然后在此地址登录登录后, 点击左侧产品服务—人工智能—文字识别, 进入文字识别的控制台, 在此处新建一个应用, 根据提示, 填写应用的相关信息, 之后点击”立即创建”创建完成后, 我们可以在应用列表看到刚才创建的应用, 可以看到相应的API Key, Secret Key. 此处可以先记录API Key和Secret Key, 稍后我们将会用到打开UiPath Studio设计器,在设计库中新建一个Sequence,为序列命名及设置Sequence存放的路径,然后在Activities中搜索Take screenshot,并将其拖至设计区,点击Indicate on screen, 之后点击需要识别的文字或数字验证码图片. 本案例使用的是一个数字验证码7364, 在Screenshot 属性中, 使用快捷键Ctrl + k自定义Image类型的变量img_code在Activities中搜索Save Image,并将其拖至设计区, 在Image属性中, 输入步骤4返回的Image类型变量img_code, 并在FileName属性中, 输入你要保存图片的地址在Activities中搜索Python scope,并将其拖至设计区, 在Path属性中, 输入你的Python 安装路径, Target属性32位选择x86, 64选择x64, Version属性根据你的Python 属性来选择在Activities中搜索open browser,并将其拖至Python Scope的设计区, 在File 属性中, 输入Python 调用百度OCR的.py文件, 具体代码参考文末. 在Result属性中使用快捷键Ctrl + k自定义变量pyObject, 用来接收返回结果在Activities中搜索Invoke Python Method,并将其拖至Python Scope的设计区, 在InputParameters属性中, 输入参数(需要被识别的图片) {“E:\uipath\BlankProcess\BlankProcess\code.png”}, 这里需要用中括号括起来, 在instance属性中输入步骤7的返回结果pyObject, Name属性中输入代码中的调用方法名称baidu_ocr, 在Result属性中使用快捷键Ctrl + k自定义变量outObject, 用来接收返回结果在Activities中搜索Get Python Object,并将其拖至Python Scope的设计区, 在PythonObject属性中输入步骤8的返回结果outObject, 在Result属性中使用快捷键Ctrl + k自定义变量result, 用来接收返回结果在Activities中搜索Log Message,并将其拖至Python Scope的设计区, 在Message 属性中输入result.ToString, 用来打印百度OC识别的结果完整流程图及变量

#运行完成,你会看到日志窗口打印了百度OCR识别后打印的文本值

总结:以上流程就用到了百度OCR识别的操作,大家可以动手试试

附:Baidu_ocr.py的代码

from aip import AipOcrAPP_ID = '你的AppID'API_KEY = '你的API_KEY'SECRET_KEY = '你的SECRET_KEY'client = AipOcr(APP_ID, API_KEY, SECRET_KEY)def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read()def baidu_ocr(path): image = get_file_content(path) client.basicGeneral(image) options = {} options["language_type"] = "CHN_ENG" options["detect_direction"] = "true" options["detect_language"] = "true" options["probability"] = "true" res = client.basicGeneral(image, options) res_str = res['words_result'] res_str_all = '' for i in range(len(res_str)): res_str_a = res['words_result'][i]['words'] res_str_all += res_str_a return res_str_all

标签: #python执行不了baidu aip