云服务器内容精选

  • 应用场景简介 OCR支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账。企业可以根据组织架构规划不同的企业项目,并为每个企业项目设置拥有不同权限的用户组和用户,多个企业项目之间相互独立,资源分开结算。 企业账号可申请开通企业项目。账号需要进行企业实名认证。如果企业账号注册成为华为云合作伙伴,将无法进入企业项目管理页面。 开通企业项目后,企业项目内的用户在调用OCR API时,只有在请求Header参数中传入Enterprise-Project-Id(企业项目ID)后,才支持按不同企业项目进行财务统计。传参方式详见API文档。 该功能仅支持开通在华北-北京一、华北-北京四、华东-上海一区域的API,不同API的部署情况请参见终端节点。 图1 企业项目管理示意图 父主题: 企业项目管理
  • 识别字符出现错误如何优化? 不同的错误情形需要具体分析: 情形1:大部分 文字识别 正确,部分形近符号的识别错误。 解决办法:产品提供了预置字段类型可以对结果进行处理,同时也提供了自定义(正则)类型、字典类型,用于纠正识别结果中的错误,适用范围详见字段类型。此外,您也可以在调用程序中使用字符串替换、正则抽取等规则来修正识别结果。 情形2:单模板工作流识别出错,且大部分字段为空或错误。 解决办法:请检查参照字段是否框选正确,或尝试框选更多参照字段(框选办法参照框选参照字段),如果新增参照字段后仍有问题,请检查识别图片与模板图片是否为同一个版式,如果为新版式,请考虑创建新模板或使用多模板分类工作流。 情形3:多模板识别工作流出错,大部分字段为空或错误。 解决办法:先检查分类结果是否正确(返回结果中的template_id表示分类结果),若分类错误,则说明分类器中存在相似的模板导致分类出错,请在参照字段中添加模板特有的参照字段,从而提高分类的鉴别能力。若分类结果正确,但识别结果错误,请参照情形2的解决办法。 父主题: 常见问题
  • 识别结果容易漏字或多识别出内容怎么办? 识别结果是根据识别区来进行提取的,识别区的位置和大小均会影响识别结果。 若结果漏字,可能是由于识别区太小导致的,需在相应模板的"框选识别区"页面,把漏字的识别区调大一些。 若多识别出文字,可能是识别区太大,将周边无关的文字也框进来了,需将识别区改小一点。 若上述办法均无法解决,请检查识别区的文字是否发生了偏移,或者识别图片是否跟模板属于相同版式。 父主题: 常见问题
  • 如何选取参照字段? 参照字段是在所有图片中,文字位置和内容均不发生变化的文字。 参照字段有两个作用: 在单模板应用中,用于矫正识别图片,从而找准识别字段; 在多模板应用中,参照字段的内容和位置将作为相应模板的分类特征。 在框选参照字段时,首先要确保所框选的文字位置和内容都固定不变,如果不满足此要求,可能会提取到错误的识别结果,或是返回AIS.0119(输入图片与模板匹配失败)、AIS.0120(输入图片分类失败)。 为了获得更好的识别效果: 尽可能多框选参照字段,建议不少于4个参照字段,并尽量分散在四周。 在多模板应用中,为了获得较好的分类效果,还应该框选各个模板中有独有的参照字段。 如果不确定哪些文字是参照字段,或是想快速评估模板效果的,可以跳过"框选参照字段"流程,当后台检测到模板没有配置任何参照字段时,会自动寻找合适的参照字段进行识别,此功能可以提高项目开发与验证的效率。 父主题: 常见问题
  • 基本概念 参照字段为模板图片和待识别图片中的公共文字部分,所有需要识别的图片中都要包含参照字段,且位置必须固定。 套件提供了自动搜索参照字段和手动框选参照字段这两种模式。 自动搜索参照字段:未手动框选任何参照字段的情况下,默认激活自动搜索参照字段模式。 手动框选参照字段:若手动框选了任意参照字段,将激活手动框选模式。 当识别图片的场景比较单一时,即只有一种模板,且参照字段不容易与其他文字混淆时,可以使用自动参照字段来简化模板制作过程,否则建议手动框选,详细步骤请参见操作步骤。
  • 新增模板配置 默认进入“新增模板配置”页签。 图4 新增模板配置 单击添加多个模板,针对每个模板,选择模板类型,并且上传图片。 “上传图片”:单击“上传图片”区域,或鼠标直接拖拽图片至“上传图片”区域,上传本地一张图片作为模板,用于业务场景的文字结构化识别。 “修改模板名称”:单击图片右侧的,在弹出的输入框中输入新的模板名称,单击“确认”。 “删除模板”:单击图片右侧“删除”,在弹出的确认删除对话框中单击“确认”。 “语种”:单击图片右侧“语种”下拉选择框,选择模板对应的语种。不选择的情况下,默认为中英文。 确认信息后,单击“下一步”,进入定义预处理步骤,对上传的模板图片进行自动旋转、裁剪等预处理。
  • 工作流简介 功能介绍 支持用户自定义多个文字识别模板,通过模型分类,自动识别图片所需使用的模板,从而支持从大量不同板式图像中提取结构化信息。 适用场景 用户认证识别 识别证件中关键信息,节省人工录入,提升效率,降低用户实名认证成本,准确快速便捷。 快递单自动填写 识别图片中联系人信息并自动填写快递单,减少人工输入。 合同录入与审核 自动提取合同结构化信息,有助快速审核。 优势 解决手工录入投入大、效率低、语种多等问题,提升业务效率。 一键式部署,快速输出高精度结构化数据。 解决单据复杂、单据板式多、语种多问题,支持自定义多个图像板式,快速适配新板式,快速接入业务。 支持从多个不同板式图像中提取结构化信息。
  • 基本概念 参照字段为模板图片和待识别图片中的公共文字部分,所有需要识别的图片中都要包含参照字段,且位置必须固定。 套件提供了自动搜索参照字段和手动框选参照字段这两种模式。 自动搜索参照字段:未手动框选任何参照字段的情况下,默认激活自动搜索参照字段模式。 手动框选参照字段:若手动框选了任意参照字段,将激活手动框选模式。 当识别图片的场景比较单一时,即只有一种模板,且参照字段不容易与其他文字混淆时,可以使用自动参照字段来简化模板制作过程,否则建议手动框选,详细步骤请参见操作步骤。
  • 工作流简介 功能介绍 支持构建文字识别模板,识别单个板式图片中的文字,提供高精度的文字识别模型,保证结构化信息提取精度。 适用场景 用户认证识别 识别证件中关键信息,节省人工录入,提升效率,降低用户实名认证成本,准确快速便捷。 快递单自动填写 识别图片中联系人信息并自动填写快递单,减少人工输入。 合同录入与审核 自动识别结构化信息与提取签名盖章区域,有助快速审核。 优势 解决手工录入投入大、效率低、语种多等问题,提升业务效率。 一键式部署,快速输出高精度结构化数据。
  • 操作步骤 在文字识别控制台左侧导航栏选择“自定义OCR”。 默认进入“我的应用”页签。 图1 文字识别控制台 在“我的应用”页签下,单击“创建应用”。 进入“创建应用”页面。 图2 创建应用 您也可以单击“我的工作流”,切换至“我的工作流”页签,选择工作流并单击卡片中的“创建应用”。 根据业务需求填写“应用名称”、“应用负责人”和“应用描述”,仅支持英文、中文、数字、下划线、中划线。选择“所属行业”及工作流。 图3 创建应用 确认信息后,单击“确认”。 成功创建应用。
  • 工作流 自定义OCR当前提供了单模板工作流和多模板工作流,自主构建文字识别模板,识别模板图片中的文字,提供高精度的文字识别模型,保证结构化信息提取精度。 通用单模板工作流 通过构建文字识别模板,识别单个板式图片中的文字,提供高精度的文字识别模型,保证结构化信息提取精度。 多模板分类工作流 支持用户自定义多个文字识别模板,通过AI分类算法,自动识别图片所需使用的模板,从而支持从大量不同板式图像中提取结构化信息。
  • 使用工作流开发应用流程 自定义OCR提供了单模板工作流和多模板工作流,您可以通过预置的工作流,自主构建文字识别模板,识别模板图片中的文字,提供高精度的文字识别模型,保证结构化信息提取精度。 图1 使用预置工作流开发应用 表1 使用工作流开发应用流程 流程 说明 详细指导 自定义OCR 根据您的实际使用需求选择自定义OCR。您可以通过查看产品文档选择所需使用的工作流。 在“文字识别”控制台界面,单击左侧菜单“自定义OCR”,进入自定义OCR应用页面。 创建应用 基于已选择的工作流创建应用,填写应用基本信息、选择工作流。 创建应用 开发应用 通用单模板工作流 根据工作流指引,创建单模板服务,通过模板训练文字识别模型,实现单模板图像的文字信息结构化提取。 通用单模板工作流 多模板分类工作流 根据工作流指引,创建多模板服务,通过多模板训练模板分类器和文字识别模型,实现多模板图像的文字信息结构化提取。 多模板分类工作流 调用API 调用指南,支持通过API调用当前模板服务。 调用API
  • APIs切换步骤 V1版本APIs清单请参见表1。仅支持V2版本的API不在此表中列举。 在进行版本替换时,请在您的业务代码中搜索“v1.0”相关的API。例如,搜索“v1.0/ocr”找到代码中API请求地址所在的代码行。将“v1.0/ocr”替换为“/v2/{project_id}/ocr”。其中,{project_id}为项目ID,可以登录我的凭证页面获取。项目ID需要依据实际的OCR部署区域进行填写,例如在图1中,OCR部署区域为“cn-north-4”,即{project_id}填充为cn-north-4区域对应的项目ID。 图1 代码示例 图2 获取项目ID 表1 APIs清单 名称 V1版本API V2版本API 通用 表格识别 /v1.0/ocr/general-table /v2/{project_id}/ocr/general-table 通用文字识别 /v1.0/ocr/general-text /v2/{project_id}/ocr/general-text 网络图片识别 /v1.0/ocr/web-image /v2/{project_id}/ocr/web-image 智能分类识别 /v1.0/ocr/auto-classification /v2/{project_id}/ocr/auto-classification 手写文字识别 /v1.0/ocr/handwriting /v2/{project_id}/ocr/handwriting 身份证识别 /v1.0/ocr/id-card /v2/{project_id}/ocr/id-card 行驶证识别 /v1.0/ocr/vehicle-license /v2/{project_id}/ocr/vehicle-license 驾驶证识别 /v1.0/ocr/driver-license /v2/{project_id}/ocr/driver-license 护照识别 /v1.0/ocr/passport /v2/{project_id}/ocr/passport 银行卡识别 /v1.0/ocr/bankcard /v2/{project_id}/ocr/bankcard 营业执照识别 /v1.0/ocr/business-license /v2/{project_id}/ocr/business-license 车牌识别 /v1.0/ocr/license-plate /v2/{project_id}/ocr/license-plate 增值税发票识别 /v1.0/ocr/vat-invoice /v2/{project_id}/ocr/vat-invoice 出租车发票识别 /v1.0/ocr/taxi-invoice /v2/{project_id}/ocr/taxi-invoice 火车票识别 /v1.0/ocr/train-ticket /v2/{project_id}/ocr/train-ticket 定额发票识别 /v1.0/ocr/quota-invoice /v2/{project_id}/ocr/quota-invoice 车辆通信费发票识别 /v1.0/ocr/toll-invoice /v2/{project_id}/ocr/toll-invoice 飞机行程单识别 /v1.0/ocr/flight-itinerary /v2/{project_id}/ocr/flight-itinerary 道路运输证识别 /v1.0/ocr/transportation-license /v2/{project_id}/ocr/transportation-license 机动车销售发票识别 /v1.0/ocr/mvs-invoice /v2/{project_id}/ocr/mvs-invoice 名片识别 /v1.0/ocr/business-card /v2/{project_id}/ocr/business-card VIN码识别 /v1.0/ocr/vin /v2/{project_id}/ocr/vin 保险单识别 /v1.0/ocr/insurance-policy /v2/{project_id}/ocr/insurance-policy 电子面单识别 /v1.0/ocr/waybill-electronic /v2/{project_id}/ocr/waybill-electronic
  • 提取特定字段导入Excel 本示例调用身份证识别API,并从获取到的JSON结果中,提取所需的字段,填入至Excel。 前提条件 开通身份证识别。 参考本地调用,安装OCR Python SDK。并执行pip install xlsxwriter命令安装依赖包。 登录访问密钥页面,获取AK、SK。可以新增访问密钥,或使用已有的访问密钥。访问密钥为credentials.csv文件,包含AK/SK信息。 代码示例 # -*- coding: utf-8 -*- import base64 import xlsxwriter from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkocr.v1.region.ocr_region import OcrRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkocr.v1 import * from huaweicloudsdkcore.http.http_config import HttpConfig def recognize_id_card_request(): try: request = RecognizeIdCardRequest() request.body = IdCardRequestBody( image=image_base64 ) response = client.recognize_id_card(request) return response except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) def get_credential(): return BasicCredentials(ak, sk) def get_client(): config = HttpConfig.get_default_config() config.ignore_ssl_verification = True return OcrClient.new_builder(OcrClient) \ .with_credentials(credentials) \ .with_region(OcrRegion.CN_NORTH_4) \ .with_http_config(config) \ .build() def image_to_base64(imagepath): """ 将本地图片转化为base64编码 """ with open(imagepath, "rb") as bin_data: image_data = bin_data.read() base64_data = base64.b64encode(image_data).decode("utf-8") return base64_data def response_to_execl(save_file, data): """ :param save_file: 文件名 :param data: result data """ # 处理调用API返回的result数据 keys_list = list(data["result"].keys()) values_list = list(data["result"].values()) options = {'in_memory': True} with xlsxwriter.Workbook(save_file, options) as workbook: worksheet = workbook.add_worksheet() worksheet.set_column('A1:A20', 23) worksheet.set_column('B1:B20', 100) worksheet.write_column('A1', keys_list) worksheet.write_column('B1', values_list) workbook.close() if __name__ == '__main__': # 填写访问密钥AK、SK ak = "填写AK" sk = "填写SK" # Init Auth Info credentials = get_credential() # Create OcrClient client = get_client() image_base64 = image_to_base64(r"图片的路径,例如D:\local\test.png") # request id card service response = recognize_id_card_request().to_dict() # 数据保存在execl上 response_to_execl(r"excel路径,例如D:\local\test.xlsx", response)
  • 解读识别结果 本章节通过网络图片识别API介绍如何解读调API返回的JSON格式识别结果。请参照API参考“响应参数”章节比对查看。 以下图识别结果为例,讲解图片内容如何与API的返回字段对应。 调用网络图片API成功后,在“JSON返回结果”中,可见result字段,该字段包含了图片中的文字块数目、文字块排列顺序、具体文本内容、所在位置、置信度等信息。 result字段仅在API调用成功后返回。 words_block_count表示文字块识别结果,本示例中,识别出2个文字块,分别代表图片中的2行文字。 words_block_list表示文字块列表,按照图片文字从上到下、从左到右排列。 words为识别出来的文本内容,confidence表示该字段的置信度。 location表示文字块的区域位置信息,采用图像坐标系,第一个文字块左上角顶点为[140,45]。 extracted_data表示图片中包含的联系人信息,仅在设置了入参extract_type,且图片中有联系人信息时支持提取。 { "result": { "words_block_count": 2, "words_block_list": [ { "words": "真材实料/舒柔养足", "confidence": 0.9491, "location": [ [ 140, 45 ], [ 380, 45 ], [ 380, 75 ], [ 140, 75 ] ] }, { "words": "选自优质头层牛皮,皮质柔软富弹性,耐折抗拉伸,穿着不变形", "confidence": 0.9897, "location": [ [ 58, 84 ], [ 462, 84 ], [ 462, 102 ], [ 58, 102 ] ] } ], "extracted_data": {} } } 父主题: 获取识别结果