当前位置: 首页 > news >正文

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

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

  • 1、作者介绍
  • 2、调用华为API实现身份证识别
    • 2.1 算法介绍
      • 2.1.1OCR简介
      • 2.1.2身份证识别原理
      • 2.1.3身份证识别应用场景
    • 2.2 调用华为API流程
  • 3、代码实现
    • 3.1安装相关的包
    • 3.2代码复现
    • 3.3实验结果

1、作者介绍

雷千龙,男,西安工程大学电子信息学院,2022级研究生
研究方向:机器视觉与人工智能
电子邮件:2387360343@qq.com

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

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-8from 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_dataif __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

http://www.lryc.cn/news/90580.html

相关文章:

  • 一个简单的基于C/S模型的TCP通信实例
  • VMware ESXi 8.0b Unlocker OEM BIOS 集成 REALTEK 网卡驱动和 NVMe 驱动 (集成驱动版)
  • ShardingSphere笔记(三):自定义分片算法 — 按月分表·真·自动建表
  • SpringBoot 如何实现文件上传和下载
  • Linux系统下imx6ull QT编程—— Ubuntu 下编写程序(一)
  • 网络编程--多线程服务器客户端
  • 如何使用vue的计算属性来处理数据计算?
  • 游戏研发项目管理
  • P1249 乘积最大
  • 【7 Vue3 – Composition API】
  • 设计模式-模板方法模式
  • 9. python的if语句
  • 并发编程的基础知识
  • C 语言风格的字符串,非 string 类如何初始化字符串,以及操作字符串的函数(C++复习向p12)
  • Linux文件系统、磁盘I/O是怎么工作的?
  • 设计原则之接口隔离原则
  • ubuntu20.04 ffmpeg mp4转AES加密的m3u8分片视频
  • Java08——继承
  • C++高级语法
  • React学习笔记九-高阶函数与函数柯里化
  • 2023年电工杯B题半成品论文使用讲解
  • 第1关:ODBC程序设计
  • Kotlin笔记(零)简介
  • android 12.0去掉usb授权提示框 默认给予权限
  • 工作积极主动分享,善于业务沟通
  • Opencv-C++笔记 (1) : opencv的数据结构
  • 什么是时间复杂度?
  • Spring框架中有哪些不同类型的事件
  • Codeforcs 1732C2 暴力
  • Python安全和防护:如何保护Python应用程序和用户数据的安全