• [互动交流] 华为的OCR支持用户自定义模板吗?
    请问,华为的OCR,支持用户自定义模板吗?
  • [技术干货] 华为云相关控件常见错误解决办法
    一、相关模块人工智能 -> EI-OCR -> 华为云EI-OCR服务插件(试用)-> 前置控件-华为云版UI自动化 -> 基于OCR的自动化 -> 基于在线OCR自动化 -> 在线OCR智能表单UI自动化 -> 基于OCR的自动化 -> 基于在线OCR自动化 -> 获取OCR文本二、问题列表获取Token时账密报错详情error(“code”: 401, “message”: “The username or password is wrong”, “title”:”Unauthorized”)解决方案参考视频:cid:link_1 见获取Token时账密报错   2. 连接错误详情ConnectionError(MaxRetryError(\"HTTPSConnectionPool(host='iam.cn-north-4.myhuaweicloud.com', port=443): Max retries exceeded with url: /v3/auth/tokens (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000021359A315E0>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。'))解决方案前置控件-华为云版:在参数http代理和https代理中填入你本地引用的网络代理配置;如:http://{user}:{password}@proxy.huawei.com:8080,此处{user},{password}为你的代理账号密码。其他控件在全局变量中添加代理参数:ProxyParameter ,类型为:Object,示例值为:{  "proxy_user": "{user}",  "proxy_pwd": "{password}",  "proxy_host": "proxy.huawei.com",   "proxy_port": 8080 }
  • [通用服务] 【AI使能】文字识别OCR通用算法能力介绍
    算法能力描述调用方式接口详细说明通用表格识别提取表格内的文字和所在行列位置信息,适应不同格式的表格。同时也识别表格外部的文字区域。用于各种单据和报表的电子化,恢复结构化信息。POST详细通用文字识别提取图片内的文字及其对应位置信息,并能够根据文字在图片中的位置进行结构化整理工作。POST详细手写文字识别识别文档中的手写文字信息,并将识别的结构化结果返回给用户。POST详细网络图片识别自动识别网络图片内的所有文字及其对应位置信息,并能根据识别出来的结果进行联系人信息的提取,同时可供进一步的数据挖掘后处理操作。POST详细智能分类识别自动检测定位图片上指定要识别的票证,一次扫描即可识别票证的位置坐标、结构化识别的内容以及对应的类别。POST详细
  • [场景服务] 【AI使能】政务一网通军团政务证照算法介绍
    政务一网通政务证照类算法模型是隶属于于文字识别(Optical Character Recognition,简称OCR)的一类算法,是指将图片、扫描件或PDF、OFD文档中的打印字符进行检测识别成可编辑的文本格式,以JSON格式返回识别结果。当前证照类算法模型列表如下:算法学习课程算法能力描述调用方式接口详细说明身份证识别识别身份证图片中的文字内容,并将识别的结果以JSON格式返回给用户。支持身份证翻拍检测功能,并可以判断是否是复印件、原件。POST详细行驶证识别识别行驶证图片中主页和副页的文字内容,并将识别的结果以JSON格式返回给用户。POST详细驾驶证识别识别驾驶证图片中主页与副页的文字内容,并将识别的结果以JSON格式返回给用户。POST详细护照识别识别护照首页图片中的文字信息,并以JSON格式返回识别的结构化结果。POST详细银行卡识别识别银行卡上的关键文字信息,并以JSON格式返回识别的结构化结果。POST详细营业执照识别识别营业执照首页图片中的文字信息,并以JSON格式返回识别的结构化结果。POST详细出租车发票识别出租车发票中的文字信息,并以JSON格式返回识别的结构化结果。POST详细增值税发票识别识别增值税发票的类别,并以JSON格式返回识别的结构化结果,支持识别图片、PDF、OFD文件。POST详细火车票识别识别火车票中的文字信息,并以JSON格式返回识别的结构化结果。POST详细飞机行程单识别识别飞机行程单中的文字信息,并以JSON格式返回识别的结构化结果。POST详细
  • [其他] 发票验真实验的体验和小问题
    首先,整体上实验进行的还算比较顺利。只​​​​​​​是在运行的时候会碰到一个小问题。root@ecs-ocr-app:~/ocr_project# cat run.log  Traceback (most recent call last):   File "/usr/local/bin/streamlit", line 5, in      from streamlit.web.cli import main   File "/usr/local/lib/python3.8/dist-packages/streamlit/__init__.py", line 70, in      from streamlit.delta_generator import DeltaGenerator as _DeltaGenerator   File "/usr/local/lib/python3.8/dist-packages/streamlit/delta_generator.py", line 90, in      from streamlit.elements.arrow import ArrowMixin   File "/usr/local/lib/python3.8/dist-packages/streamlit/elements/arrow.py", line 21, in      from pandas.io.formats.style import Styler   File "/usr/local/lib/python3.8/dist-packages/pandas/io/formats/style.py", line 56, in      jinja2 = import_optional_dependency("jinja2", extra="DataFrame.style requires jinja2.")   File "/usr/local/lib/python3.8/dist-packages/pandas/compat/_optional.py", line 171, in import_optional_dependency     raise ImportError(msg) ImportError: Pandas requires version '3.0.0' or newer of 'jinja2' (version '2.11.3' currently installed). root@ecs-ocr-app:~/ocr_project# pip install jinja2@3.0.0 ERROR: Invalid requirement: 'jinja2@3.0.0'通过安装正确版本就可以解决:pip install jinja2==3.0.0效果是这样的:实验时间一般来说是足够的。如果不够可能需要延时,但是延时的话就需要购买实验点的。pip install -i https://pypi.tuna.tsinghua.edu.cn/simple streamlit huaweicloudsdkcore huaweicloudsdkocrwget https://sandbox-expriment-files.obs.cn-north-1.myhuaweicloud.com/20220408/ocr_project.zipstreamlit run main.py 2>run.log项目的安装部署还是比较简单的,主要的命令就是以上的几个。
  • [互动交流] OBS权限相关问题?
    对于OBS文件ACl类型为私有读写的图片文件,图片文件url需要授权才能获取。如何给文字识别OCR服务授权获取图片?
  • [互动交流] RPA调用python脚本时报错
    在用RPA调用python脚本中的函数来识别验证码时,提示importerror(DLL load failed thile importing onnxruntime_pybind11_state:找不到指定的模块
  • [互动交流] manas引擎发票OCR识别云服务器
    【功能模块】manas引擎发票OCR识别云服务器【操作步骤&问题现象】内网POC,需要开白名单允许访问华为云服务器
  • [技术干货] 【ManasAI-OCR】验证码、健康码颜色识别、表格图片识别
    前言:使用了Manas提供的AI能力进行拓展插件二次开发。需要申请权限,才能正常使用注意:1. 以下控件中,需要提供用户账号。用户账号为在WeAutomate_AI申请的账号。如果没有注册,或者该账号没有激活,会报以下错误[Detail] [NOK] [2022-07-19 16:19:35]完成执行[原子命令] [playbackScript.xml 第4行] 验证码、健康码识别 [验证码、健康码识别] [NOK] [RobotUncaughtError] [系统执行错误: 发生了未捕获异常,详情:RuntimeError('Your account is not a member of tenant WeAutomate_AI, or your account is inactive.')]账号申请相关操作,请参考:https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=1947342. 插件使用了python库:xlwt,需要自行安装如果运行出现“no module named 'xlwt'”,则进入黑窗口cmd,设计器是stduio/python/文件夹下(执行器是assistant/python/)执行 python.exe -m pip install xlwt;若黑窗口cmd中,出现Retry等字样信息,则需要将pip.rar(见附件)中的pip文件放入'C:\Users\用户名' 文件夹下,即自己的用户账号下(例如'C:\Users\工号','C:\Users\Administrator', 'C:\Users\Lenovo'等等)。功能说明提供了验证码识别、健康码颜色识别、表格图片识别功能导入1. 从studio中导入附件ext_ManasOCRVerify_2_0_0.zip2. 成功后,会在扩展中心中看到我们导入的包3. 控件中会出现以下新增控件验证码识别、健康码颜色识别1. 控件帮忙界面见下图2. 属性界面下二图。(识别模式有三种,健康码识别、验证码识别;验证码识别中,需要选择是纯数字,还是纯字母,还是数字与字母混合)表格图片识别功能说明:使用AI-OCR识别,将表格图片内容识别出来,也能够转为对应的Excel文件入参说明:如果不在本地生成Excel文件,可以忽略“很长Excel文件的路径”和“工作表sheet”执行结果:在指定的路径生成Excel文件,其中list类型的返回值table_ret,如图
  • [技术干货] WeAutomate Studio【控件】【UI自动化—基于OCR的自动化—本地OCR】【PaddleOCR】
    一、 WeAutomate Studio配置1.1  三方件WeAutomate Studio中运行 `UI自动化\基于OCR的自动化\基于本地OCR的自动化` 模块下的设置OCR操作窗口(SetOfflineOcrWindow)和 本地OCR获取文本(offlineGetOcrText)控件时,需要安装额外的三方件 paddleocr 和 paddlepaddle。安装方式如下:本页第四楼this is WeAutomate有本帖的一个简化的操作方式,可以直接参考一下,如果无效,则可以从这里开始。方案一:studio 内部界面安装如上图,点击高级的下拉框 -> 选择python依赖包管理,进入到Python依赖包管理界面,选择安装新模块。在名称栏输入paddlepaddle,点击安装,等待安装完成后,继续按照同样的方式安装paddleocr三方件即可。方案二:使用pip安装打开studio安装目录下的python文件夹的cmd窗口,运行python.exe -m pip install paddlepaddle 和 python.exe -m pip install paddleocr 进行安装。安装异常处理安装中出现报错信息 Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools",需要下载Visual Studio,下载链接:https://visualstudio.microsoft.com/zh-hans/;如下图勾选相关选项后,点击安装,等待安装完毕,重启电脑后重试上述安装过程。1.2 识别模型WeAutomate Studio 中集成了OCR控件中Paddle引擎所需的中文语言模型;若需识别其他语言,需自行下载,参考下载网址:cid:link_1需按照语言下载文本检测、文本识别、文本方向三类模型。下载后放置到WeAutomate Studio指定位置处:%studio安装目录%/public/paddleOcrModel 下。文件夹下包含三个文件夹,每个文件夹下包含inference.pdiparams,inference.pdiparams.info,inference.pdmodel 三个文件二、 本地python环境配置Paddle引擎2.1  三方件安装1)  安装方法命令行 pip install 三方件包名2)  依赖三方件所需依赖:paddlepaddle, python-Levenshtein, paddleocr其中paddlepaddle支持的环境,如下图:3) 安装时异常若中途安装报错出现 Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools",需要下载Visual Studio,下载链接:https://visualstudio.microsoft.com/zh-hans/;如下图2.2  模型配置1)  模型功能文本检测:检测文本,并标框,返回四点坐标;文本识别:识别文本,返回文本和置信度;文本方向分类:能识别出不同方向的文本2) 相关文档及下载地址文档地址:cid:link_0        (若不想看,可根据下列链接直接下载三个模型,支持简体中文、英文、阿拉伯数字)          (1)文本检测模型:https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar           (2)文本识别模型:https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar           (3)文本方向分类模型:https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar3)  模型放置将其下载的三个模型文件解压,并放入到自定义的inference文件夹里,例如见下图           确保每一个模型文件夹中都有三个文件,见下图: 2.3  使用paddleOCR1)  方法一,python代码:直接利用python包(import paddleocr)。[若只识别一张图片,可参考图1-3,若想批量拾取,可看图4]                    注意:代码中的det_model_dir, rec_model_dir, cls_model_dir便是之前下载的三个文件夹路径图1图2图3图42) 方法二,命令行:通过命令行语句实现             (1)从github下载paddleOCR,下载地址:https://github.com/PaddlePaddle/PaddleOCR             (2)将之前的inference文件夹放入到此路径下(即PaddleOCR文件夹下)             (3)cmd黑窗命令行,进入paddleOCR路径下,执行下列语句,生成的结果在PaddleOCR\inference_results中               执行的语句:python tools/infer/predict_system.py --image_dir="./atest" --det_model_dir="./inference/ch_PP-OCRv3_det_infer/"  --  rec_model_dir="./inference/ch_PP-OCRv3_rec_infer/" --cls_model_dir="./inference/ch_ppocr_mobile_v2.0_cls_infer/" --use_angle_cls=True --use_space_char=False --use_gpu=False               其中              img_dir:需要识别的图片路径,可以是一张图片路径,也可以是文件夹路径(即识别多张图片)              det_model_dir,rec_model_dir,cls_model_dir:之前下载的三个模型路径              use_angle_cls:是否使用cls_model模型(作用是识别非正方向的文本;即文本可能是上下或左右颠倒过来的,设置为True,可准确识别)              use_space_char:是否识别空格              use_gpu:是否使用GPU               2.4  识别效果图片标注效果见图5 图5图片识别信息见图6图6 
  • [技术干货] WeAutomate Studio【控件】【UI自动化—基于OCR的自动化—本地OCR】【Tesseract】
    一、【使用官方ocr模型】1. 自行下载Tesseract-OCR,安装包下载地址:https://digi.bib.uni-mannheim.de/tesseract/?C=M;O=D ,类似'tesseract-ocr-w64-setup-v5.1.0.20220510.exe';见图1;图12. 安装目录设置环境变量,比如Path中新增‘D:/Tesseract-OCR’;见图2;图23. 设置系统变量名TESSDATA_PREFIX,变量值为'D:/Tesseract-OCR/tessdata';见图3;图34. 默认只有英文语言包,所以下载需要的语言包放入到第3点中的目录下,语言包下载地址:https://github.com/tesseract-ocr/tessdata ,例如‘chi_sim.traineddata’就是中文语言包;见图4;图45. 若出现”no module named 'pytesseract'“,请到studio安装目录下的python文件夹下,进入cmd命令行黑窗口,输入python -m pip install pytesseract。见图5图5二、【自行训练模型】:1. 配置java环境,至少jdk-8及以上,下载地址:https://www.oracle.com/java/technologies/downloads/#jdk18-windows ;见图6;图62. 下载jTessBoxEditor软件:https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/ ;见图7;图73.  修改环境变量:例如,需要将【使用官方ocr模型】的第2、3点中的路径分别改为‘D:\jTessBoxEditor\tesseract-ocr’和‘D:\jTessBoxEditor\tesseract-ocr\tessdata’;见图8、9;图8图94.  在安装目录中找到train.bat双击打开jTessBoxEditor;见图10;图105.  在jTessBoxEditor界面上的Trainer标签页,见图11;图11   (1)Tesseract Executables设置为例如‘D:\jTessBoxEditor\tesseract-ocr\tesseract.exe’;   (2)Training Data设置为需要识别的图片,png或jpg或tif等;   (3)Language自定义,代表训练的模型包名,例如‘chi_sim_new’,即chi_sim_new.traineddata文件名;   (4)Bootstrap Language指用什么语言模型来识别你的图片,例如此处为官方的‘chi_sim’中文训练模型名;            注意:默认只含有英文包eng.traineddata,需要自行下载中文包chi_sim.traineddata,请看上面第一大点【使用官方ocr模型】中第4点讲解。   (5)找到‘RTL’右侧的下拉框,选择‘Make Box File’,之后点击‘Run’;6. 在jTessBoxEditor界面上的Box Editor标签页,见图12;图12  (1)点击‘Open’打开需要识别的图片,即第5点(2)中设置的;  (2)在Box Editor标签下的Box View标签下,结合右侧操作界面,修改识别错误的字体。其中Character为待修改的字体,修改完记得回车;X,Y,W,H分別为字体周围绿色框的横纵坐标,宽高;Merge,Split,Insert,Delete分别代表合并、分离、插入、删除字体框;  (3)修改完后,点击‘Save’,并点击‘Reload’;7. 回到jTessBoxEditor界面上的Trainer标签页,见图13;图13(1)只需选择第5点(5)中的下拉框的值为‘Train with Existing Box’,再点击‘Run’(2)找到同图片路径下生成的tessdata文件夹下的.traineddata(自己训练的模型),例如此次设置的chi_sim_new.traineddata,把此文件放入此次假设的jTessBoxEditor软件安装目录相关路径中:‘D:\jTessBoxEditor\tesseract-ocr\tessdata’8. 控件中的‘识别语言类型’参数,输入此次训练的模型名,例如chi_sim_new,若想结合官方提供的训练模型一起识别图片,直接用+号连接,比如中文模型chi_sim,则可在参数中填入chi_sim+chi_sim_new,见图14;       【简单建议】:直接输入你自己训练的模型名,不要联合官方的,正确率更高,除非你训练模型的图片够多,够好;       【深入理由解释】:联合官方的模型,会导致你的模型过拟合,除非你训练模型的数据集够大够好。图14
  • [技术干货] 华为云-Python:OCR 文字识别-通用表格识别,图片转文字,返回结果输出至Excel
    # -*- coding: utf-8 -*-"""新手测试笔记文字识别 OCR:通用表格识别"""from huaweicloudsdkcore.auth.credentials import BasicCredentialsfrom huaweicloudsdkocr.v1.region.ocr_region import OcrRegionfrom huaweicloudsdkcore.exceptions import exceptionsfrom huaweicloudsdkocr.v1 import *import base64import xlsxwriterclass OCRHuaWei(object): def __init__(self, ak=None, sk=None, service_area=None, client=None, img_base64=None): self.ak = ak self.sk = sk self.service_area = service_area self.client = client self.base64_data = img_base64 def get_client(self): # 接入OCR_HuaWei credentials = BasicCredentials(self.ak, self.sk) # OCR身份认证 # 创建客户端 self.client = OcrClient.new_builder()\ .with_credentials(credentials)\ .with_region(OcrRegion.value_of(self.service_area)) \ .build() return self.client def image_to_base64(self, imagepath): """ 将本地图片转为base64编码: 方法一:如下 方法二:通过Chrome浏览器转为base64编码(图片拖至Chrome浏览器 → F12 → 源代码 → 选中文件**.png→Pretty print **) """ with open(imagepath, "rb") as bin_data: image_data = bin_data.read() # 二进制格式、只读 self.base64_data = base64.b64encode(image_data).decode("utf-8") # 对本地图片进行base64编码 return self.base64_data def recognize_general_table_request(self): """ OCR-通用表格识别 返回JSON:RecognizeGeneralTableResponse """ try: request = RecognizeGeneralTableRequest() request.body = GeneralTableRequestBody( return_confidence=True, # 返回置信度 return_excel=True, # 返回Excel image=self.base64_data ) response = self.client.recognize_general_table(request) # 返回JSON:RecognizeGeneralTableResponse return response except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) def response_to_execl(self, data, save_path): """ :param data: response中提取的文本块 words_block_lst :param save_path: 指定输出的Excel文件名 """ col_lst, val_lst = ['words', 'confidence'], [] for block in data: words = block['words'] if words: if 'confidence' in block.keys(): confidence = block['confidence'] else: confidence = '' val_lst.append([words, confidence]) # [文本内容, 置信度] options = {'in_memory': True} with xlsxwriter.Workbook(save_path, options) as workbook: worksheet = workbook.add_worksheet() worksheet.set_column('A1:A20', 50) # 设列宽 worksheet.set_column('B1:B20', 11) worksheet.write_row('A1', col_lst) for i, row_lst in enumerate(val_lst): worksheet.write_row('A'+str(i+2), row_lst) # 需逐行写入 workbook.close() def recognize_general_table_to_excel(self, save_path): # OCR-通用表格识别,保存至Excel # 转为python字典 response = self.recognize_general_table_request().to_dict() words_block_lst = response['result']['words_region_list'][0]['words_block_list'] self.response_to_execl(words_block_lst, save_path) # 另存至Excelif __name__ == "__main__": ak = "********************" # ak:华为云Access Key Id(AK) sk = "****************************************" # sk:华为云Secret Access Key(SK) service_area = "cn-north-4" # API项目区域:华北-北京四 # Create OcrClient(初始化身份认证信息、创建OCR客户端) client = OCRHuaWei(ak=ak, sk=sk, service_area=service_area).get_client() # 支持JPEG、JPG、PNG、BMP、TIFF格式 img_base64 = OCRHuaWei().image_to_base64(r"C:\***\tst.png")    # 实例化 ocr_HuaWei = OCRHuaWei(ak=ak, sk=sk, service_area=service_area, img_base64=img_base64, client=client) save_path = r"C:\***\xlsxwriter_tst.xlsx" ocr_HuaWei.recognize_general_table_to_excel(save_path) # OCR 通用表格识别
  • [分享交流] 香港的服务器访问北京1的OCR服务(香港站点没有OCR)性能非常差;是网络的问题吗?
    1.在本地(深圳)调用北京1的OCR服务 效果很不错;2.放到香港的华为云服务期上就非常慢 10秒左右;3.是因为香港的原因才导致访问内地这边的OCR服务很慢?
  • [互动交流] DevStar 智能OCR图像文字识别 创建者应用部署显示无授权
    【功能模块】DevStar 智能OCR图像文字识别【操作步骤&问题现象】1、在进行智能图像识别时,创建项目后,按照步骤在进行应用部署时,一直显示无授权,重复多次仍旧如此2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [高校开发者专区] 如何使用 DevStar 10分钟开发增值税发票文字识别应用