华为云之文字识别服务 OCR 之证件识别实践【玩转华为云】

举报
江湖有缘 发表于 2025/07/29 00:46:07 2025/07/29
【摘要】 华为云之文字识别服务 OCR 之证件识别实践【玩转华为云】

一、华为云相关服务介绍

1.1 文字识别服务OCR介绍

华为云文字识别服务(Optical Character Recognition,OCR)是一种将图像、扫描件、PDF 或 OFD 文档中的打印字符检测并识别为可编辑文本格式的服务。该服务以开放 API 的形式提供,支持用户通过 Python、Java 等编程语言调用 OCR 服务 API,从而实现自动采集关键数据,打造智能化业务系统,提升业务效率。

OCR 服务功能

  1. 通用类 OCR(General OCR)

    • 支持表格、文档、网络图片等任意格式图片上的文字识别。
    • 自适应分析各种版面和表格。
    • 快速实现文档电子化,适用于广泛的应用场景。
  2. 证件类 OCR(Card OCR)

    • 支持身份证、驾驶证、行驶证、护照等证件图片的有效信息自动识别。
    • 提供关键字段的结构化提取,便于数据管理与处理。
  3. 票据类 OCR(Receipt OCR)

    • 支持增值税发票、机动车销售发票、医疗发票等各种发票和表单图片的文字识别。
    • 提取关键信息并进行结构化处理,便于后续分析和使用。
  4. 行业类 OCR(Domain OCR)

    • 针对特定行业需求,支持物流面单、医疗化验单据等图片的结构化信息提取。
    • 助力行业自动化,提高工作效率。

1.2 华为云ECS云服务器介绍

华为云弹性云服务器(ECS)作为一种云上计算服务,支持用户随时自助获取,且具备弹性伸缩能力。它能为用户打造出安全、可靠的应用环境,保障应用稳定运行。同时,其灵活、高效的特性,能很好地满足不同场景下的使用需求,为用户提供优质的服务体验。

image.png

二、本次实践介绍

2.1 实践环境简介

本次实验课程将在华为云云实验平台环境下开展,旨在引导用户完成基于华为云OCR服务的证件识别实践操作。华为云实验平台为用户提供了集成化的在线实验环境,内含所需云服务资源与实验指导手册,帮助用户快速上手并掌握OCR文字识别技术,尤其是针对身份证、驾驶证、护照等常见证件的自动识别与结构化信息提取。通过该平台,用户无需自行搭建复杂的开发环境,即可直观体验OCR服务的调用流程与识别效果,为后续实际业务应用打下基础。

2.2 本次实践目标

  • 掌握华为云OBS对象存储的基本使用方法。
  • 学习并理解华为云文字识别服务OCR的基本概念及其应用场景。
  • 实践使用OCR服务对身份证、驾驶证、护照等常见证件进行识别与结构化信息提取。
  • 通过实验掌握如何调用华为云OCR API,并将识别结果集成到实际应用中。

三、登录华为云OBS控制台

3.1 登录华为云

在实验操作桌面,我们打开浏览器,根据左侧指导文档提供的实验账号,登录华为云。

在这里插入图片描述

在这里插入图片描述

3.2 进入OBS控制台

在华为云的个人总览页面中,点击对象存储服务OBS,或者直接访问https://console.huaweicloud.com/console/?region=cn-southwest-2#/obs/manager/buckets,即可进入OBS控制台。

在这里插入图片描述

3.3 创建桶

在OBS控制台页面的右上角。点击【创建桶】选项。

在这里插入图片描述

创建桶基本配置:

  • 区域:华北-北京四
  • 桶名称:ocrawk-ee0e
  • 数据冗余存储策略:多AZ存储
  • 存储类别:标准存储
  • 桶策略:公共读
  • 其他配置:默认即可
  • 配置完毕后,点击“立即创建”。

在这里插入图片描述

在这里插入图片描述

3.4 上传测试图片

点击刚才创建的通名称,进入桶后,点击【新建文件夹】。填写文件夹名称后,确认即可。

在这里插入图片描述

测试文件下载地址:

  • 驾驶证
https://weirenzheng-d146.obs.cn-north-4.myhuaweicloud.com/AI_Data/OCR/%E9%A9%BE%E9%A9%B6%E8%AF%81.png
  • 报告单
https://weirenzheng-d146.obs.cn-north-4.myhuaweicloud.com/AI_Data/OCR/%E6%8A%A5%E5%91%8A%E5%8D%95.png

在这里插入图片描述

图片下载完毕后,上传到OCR文件目录中。

在这里插入图片描述

在这里插入图片描述

四、OCR服务开通和基本设置

4.1 开通OCR服务

进入OCR管理页面,https://console.huaweicloud.com/ocr/?region=cn-north-4#/ocr/overview。

在这里插入图片描述

4.2 开通通用表识别服务

在OCR控制台的总览页面,下面区域的通用表格识别服务需要点击“立即开通”。

在这里插入图片描述

  • 开通驾驶证识别

在这里插入图片描述

4.3 智能表单测试

进入API Explorer页面 ,访问地址:https://console.huaweicloud.com/apiexplorer/#/openapi/OCR/debug?api=RecognizeGeneralTable&locale=zh-cn

  • 使用API Explorer测试下当前的服务是否正常。选择"通用表格识别",url填入obs桶中的报告单. png”的url,再点击调试即可。返回结果正常。

在这里插入图片描述

五、OCR服务调用工作

5.1 购买ModelArts notebook

访问地址:https://console.huaweicloud.com/modelarts/?agencyId=8c911e3ce29e4b85b39b080cddfebc1a&region=cn-north-4&locale=zh-cn#/dashboard

在这里插入图片描述

选择默认配置,立即创建即可。

在这里插入图片描述

5.2 获取AK和SK

在账号设置——我的凭证中,新增访问密钥,按照提示创建AK和SK密钥。然后立即下载,保存好生成的csv文件。

在这里插入图片描述

5.3 打开notebook

在notebook管理页面。点击“打开”选项。

在这里插入图片描述

  • 安装OCR服务库
!pip install huaweicloudsdkocr

在这里插入图片描述

5.4 使用OCR服务识别驾驶证图片

示例代码文件如下所示,需要将url地址为OBS桶中驾驶证图片的地址,填写自己的AK与SK。

# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkocr.v1.region.ocr_region import OcrRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkocr.v1 import *

if __name__ == "__main__":
    

    ak = "你的AK"
    sk = "你的SK"

    credentials = BasicCredentials(ak, sk)

    client = OcrClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(OcrRegion.value_of("cn-north-4")) \
        .build()

    try:
        request = RecognizeDriverLicenseRequest()
        request.body = DriverLicenseRequestBody(
            url='你的驾驶证图片地址' 
        )
        response = client.recognize_driver_license(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

在这里插入图片描述

5.5 使用OCR服务识别表单

示例代码文件如下所示,需要将url地址为OBS桶中报告单单图片的地址,填写自己的AK与SK。

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkocr.v1.region.ocr_region import OcrRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkocr.v1 import *

if __name__ == "__main__":
    
    ak = "你的AK"
    sk = "你的SK"

    credentials = BasicCredentials(ak, sk)

    client = OcrClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(OcrRegion.value_of("cn-north-4")) \
        .build()

    try:
        request = RecognizeGeneralTableRequest()
        request.body = GeneralTableRequestBody(
            url="你的报告单图片地址" 
        )
        response = client.recognize_general_table(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

在这里插入图片描述

六、实践总结

本次实践整体顺利完成,尽管过程中遇到了网络环境卡慢的问题,影响了实验进度。通过在个人账号下重新登录华为云,最终完成了所有OCR服务的相关操作。此次实践加深了我对华为云OCR证件识别和表单处理功能的理解,提升了实际操作能力。华为云OCR服务功能强大、操作简便,具备良好的应用价值和发展前景。


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。