调用华为API实现身份证识别

1、作者介绍

雷千龙,男,西安工程大学电子信息学院,2022级研究生
研究方向:机器视觉与人工智能
电子邮件:[email protected]

张思怡,女,西安工程大学电子信息学院,2022级研究生,张宏伟人工智能课题组
研究方向:机器视觉与人工智能
电子邮件:[email protected]

2、调用华为API实现身份证识别

2.1 算法介绍

2.1.1OCR简介

OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。

2.1.2身份证识别原理

识别原理为文字识别,通过识别身份证图片中的文字内容,并将识别的结果以JSON格式返回给用户。支持身份证翻拍检测功能,并可以判断是否是复印件、原件。

2.1.3身份证识别应用场景

在智能科技信息快速发展的当下,很多APP、小程序、都需要填写各种个人身份信息,像姓名、户籍住址、身份证号码等等。身份证OCR识别可快速实现用户信息输入。

2.2 调用华为API流程

(1)百度搜索华为云或输入huaweiicloud.com访问华为云官网进入后搜索“文字识别”
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)获取访问AK/SK
点击新增访问,在描写处填写身份证识别。会生成并下载csv文件,打开csv文件可获得Access Key Id和Secret Access Key。
在这里插入图片描述
在这里插入图片描述
(3)API调试
在开发工具处点击API调试即可进入。并点击身份证识别进行调试。
在这里插入图片描述
在这里插入图片描述
(4)参数设置
在这里插入图片描述
在image处输入图像的base64编码
side输入front
return_verification选择true
return_text_locaton选择true
在这里插入图片描述
在这里插入图片描述
(5)base64编码获取
将图片拖入浏览器中并打开,按F12后点击source点击{},此时可获得图片的base64编码,将其全部选中并回到API Exploer中输入到image中即可调试成功。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、代码实现

3.1安装相关的包

pip install huaweicloudsdkcore
pip install huaweicloudsdkocr

3.2代码复现

# coding: utf-8

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

#### base64编码格式
def image_to_base64(self):
    with open(self, 'rb') as f:
        base64_data = base64.b64encode(f.read())      #  将图像转换为 base64数据格式
        return base64_data

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 = RecognizeIdCardRequest()
        request.body = IdCardRequestBody(
            return_text_location=True,
            return_verification=True,
            side="front",
            image= image_to_base64('path')  ##  调用之前定义的 base64 编码 并且输入自己的图片路径
        )
        response = client.recognize_id_card(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

3.3实验结果

![在这里插入图片描述](https://img-blog.csdnimg.cn/e96e627eb1de404e98252973a7f2e1c0.png

猜你喜欢

转载自blog.csdn.net/m0_37758063/article/details/130891561