0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

银行卡信息精准识别-智能快速绑卡

DS小龙哥-嵌入式技术 来源:DS小龙哥-嵌入式技术 作者:DS小龙哥-嵌入式技 2023-07-12 09:57 次阅读

1. 前言

AI人工智能的潮流下,出现了很多方便人们生活的产品:人脸识别技术-完成人脸开锁,人脸核身;车牌识别-完成停车场无人计费系统设计;自动驾驶-辅助车主行车,自动泊车等等,还有很多相关的应用。

这篇文章就是利用华为云提供的银行卡信息识别接口来提取识别银行卡详细信息,这个接口是文字识别接口中的一个,银行卡信息识别主要是应用在各种购物app里绑卡、保险在线理赔填卡号、社交软件绑卡、证券软件绑卡等等很多地方,以前都是人工输入卡号,非常不方便,有了AI识别功能,可以提前将银行卡图片保存在手机里,也可以选择现场拍摄,这样软件通过图片快速识别出当前银行卡的类别、所属银行、卡号等信息完成自动填充,极大的方便用户体验。

2. 文字识别云服务

2.1 开通文字识别服务功能

地址: https://console.huaweicloud.com/ocr/?region=cn-north-4&locale=zh-cn#/ocr/overview

image-20220211111123655

文字识别服务接口支持API方式调用,支持按需计费,每个用户每月有1000次的免费调用额度,前期的体验调试比较方便。

接口的计费使用说明: https://support.huaweicloud.com/productdesc-ocr/ocr_01_0070.html

image-20220211111348612

2.2 API接口使用介绍

帮助文档地址: https://support.huaweicloud.com/api-ocr/ocr_03_0104.html

接口识别银行卡上的关键文字信息后,是以json格式返回识别的结果,根据说明解析就能拿到信息。

接口格式:

URL请求格式:POST https://{endpoint}/v2/{project_id}/ocr/bankcard
 ​
 endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的endpoint不同,可以从终端节点中获取。
 例如,OCR服务在"华北-北京四"区域的"endpoint""ocr.cn-north-4.myhuaweicloud.com"。
 ​
 project_id是项目ID,可以从这里 https://support.huaweicloud.com/api-ocr/ocr_03_0130.html 获取。
 ​
 ​
 完整请求示例: 
 https://ocr.cn-north-4.myhuaweicloud.com/v2/0e5957be8a00f53c2fa7c0045e4d8fbf/ocr/bankcard
 ​
 请求头:
 {
  "X-Auth-Token": "******",
  "Content-Type": "application/json;charset=UTF-8"
 }
 ​
 X-Auth-Token参考在这里获取:https://support.huaweicloud.com/api-ocr/ocr_03_0005.html
 ​
 请求体里包含了图片的bash编码数据
 {
  "image": ..............
 }
 ​
 ​
 识别后响应的结果:
 {
  "result": {
   "bank_name": "中国建设银行",
   "card_number": "6217003860002354304",
   "issue_date": "",
   "expiry_date": "09/22",
   "type": "借记卡",
   "confidence": {
    "bank_name": 0.9608,
    "card_number": 0.9793,
    "issue_date": 0,
    "expiry_date": 0.8646,
    "type": 0
   }
  }
 }
 ​
 响应结果里字段含义解释:
 ​
 bank_name  发卡行。
 ​
 card_number 银行卡号。
 ​
 issue_date 有效期开始日期。
 ​
 expiry_date 有效期截止日期。
 ​
 type 银行卡类别,如:借记卡,信用卡,准贷记卡,预付费卡。

2.3 在线调试

在线调试地址: https://apiexplorer.developer.huaweicloud.com/apiexplorer/debug?product=OCR&api=RecognizeBankcard

先通过调试接口体验之后,再编写代码可以少走一些弯路,很多参数都比较清楚了。

image-20220211112958274

将图片的base64编码贴到 image字段里,点击调试即可查看结果。

3. 示例代码

代码采用QT编写,主要是就是HTTP请求,获取结果,解析结果,API接口不依赖语言,任何语言使用都是一样的流程。

image-20220211115946809

image-20220211120010999

3.2 发起请求,获取银行卡信息

//获取银行卡信息
 void  Widget::getCardInfo(QString file)
 {
     function_select=1;
     QString requestUrl;
     QNetworkRequest request;
 ​
     //存放图片BASE64编码
     QString imgData;
 ​
     //设置请求地址
     QUrl url;
 ​
     //人脸搜索请求地址
     requestUrl = QString("https://ocr.%1.myhuaweicloud.com/v2/%2/ocr/bankcard")
             .arg(SERVER_ID)
             .arg(PROJECT_ID);
 ​
     //设置数据提交格式
     request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json"));
 ​
     //将图片进行Base64编码
     imgData = QString(toBase64(QImage(file))); //编码后的图片大小不超过2M
     //设置token
     request.setRawHeader("X-Auth-Token",Token);
 ​
     //构造请求
     url.setUrl(requestUrl);
     request.setUrl(url);
 ​
     QString post_param=QString
                ("{"
                  ""image": "%1""
                 "}").arg(imgData);
 ​
     //发送请求
     manager- >post(request, post_param.toUtf8());
 }

3.3 获取token

/*
 功能: 获取token
 */
 void Widget::GetToken()
 {
     //表示获取token
     function_select=3;
 ​
     QString requestUrl;
     QNetworkRequest request;
 ​
     //设置请求地址
     QUrl url;
 ​
     //获取token请求地址
     requestUrl = QString("https://iam.%1.myhuaweicloud.com/v3/auth/tokens")
                  .arg(SERVER_ID);
 ​
     //自己创建的TCP服务器,测试用
     //requestUrl="http://10.0.0.6:8080";
 ​
     //设置数据提交格式
     request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json;charset=UTF-8"));
 ​
     //构造请求
     url.setUrl(requestUrl);
 ​
     request.setUrl(url);
 ​
     QString text =QString("{"auth":{"identity":{"methods":["password"],"password":"
     "{"user":{"domain": {"
     ""name":"%1"},"name": "%2","password": "%3"}}},"
     ""scope":{"project":{"name":"%4"}}}}")
             .arg(MAIN_USER)
             .arg(IAM_USER)
             .arg(IAM_PASSWORD)
             .arg(SERVER_ID);
 ​
     //发送请求
     manager- >post(request, text.toUtf8());
 }

3.4 解析结果

//解析反馈结果
 void Widget::replyFinished(QNetworkReply *reply)
 {
     QString displayInfo="";
     int statusCode = reply- >attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
 ​
     //读取所有数据
     QByteArray replyData = reply- >readAll();
 ​
     qDebug()< < "状态码:"<

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    26459

    浏览量

    264079
  • 人工智能
    +关注

    关注

    1776

    文章

    43871

    浏览量

    230627
  • 人脸识别
    +关注

    关注

    76

    文章

    3955

    浏览量

    80559
  • 文字识别
    +关注

    关注

    0

    文章

    16

    浏览量

    8596
  • 华为云
    +关注

    关注

    3

    文章

    2155

    浏览量

    16807
收藏 人收藏

    评论

    相关推荐

    移动电话银行卡读卡器

    `描述此解决方案基于 MSP430G2432 微控制器实现了用于智能手机的磁卡读取器。读取器专用于读取基于 ISO7811 的银行卡并将信息(如
    发表于 04-08 11:23

    提供银行卡识别API免费接入的OCR SDK开发者平台

    、支付平台等搭载了银行卡识别技术,用户只要对准银行卡进行拍照扫描或者导入银行卡图片,系统就能自动快速的读取
    发表于 09-16 17:35

    银行卡刷卡的WAV转成0101信号问题

    具体应用是,1:刷银行卡,磁头接收到银行卡第2磁道的信息,直接转成声音文件记录下来2:把声音文件还原成0101,3:根据银行卡的编码,转换成银行卡
    发表于 03-16 12:09

    新能力上线 | 讯飞AI能力星云赋能,4项OCR技术助力“证”途!

    新上线能力分别针对名片、身份证、银行卡、营业执照的识别,可以满足细分证件使用场景下的不同需要。名片识别场景客户信息录入对收集的大量名片信息
    发表于 07-06 08:58

    云端银行卡识别技术的特点和优势

    );识别速度:单张银行卡识别速度小于0.5秒;识别率:99.50%;云端银行卡识别服务支持自动旋
    发表于 07-25 19:46

    通讯设备参考设计:移动电话银行卡读卡器

    于读取基于 ISO7811 的银行卡并将信息(如 ID 和有效期数据等)发送回至移动主机。 设计系统框图:>>了解更多 设计特性:·超低功耗:平均 1uA 的待机电流和低于 2
    发表于 09-13 14:41

    基于SnapDragonBoard410C文字识别

    领先的深度学习算法,利用光学字符识别技术,将图片上的文字内容,直接转换为可编辑文本。不仅能精准快速识别身份证、名片、营业执照、驾驶证等证类
    发表于 09-26 18:11

    联锁安全房门中磁卡识别原理图

    的设备,以将卡片上的信息读出,这便是磁卡读取器。磁卡的用途十分广泛,种类很多,常见的有银行卡、信用及各类门禁用的出入等。尽管用途不尽相同,但磁卡的读取方式基本上差别不大。以插卡式的
    发表于 03-20 10:54

    PN7150无法读取身份证和银行卡是怎么回事?

    使用PN7150读取身份证和银行卡,安卓版本为Android9 有些银行卡有刷卡声音,但不是正常的刷卡声音,比如刷卡失败的提示音。没有弹出 NFC 标签信息。 我在日志中发现了以下问题: 1.同一张
    发表于 05-06 07:10

    指纹识别技术在银行卡业务中的应用分析与设计_曾庆勇

    指纹识别技术在银行卡业务中的应用分析与设计_曾庆勇
    发表于 03-20 09:13 1次下载

    银行卡手机拍照识别sdk

    、易出错,而且用户体验非常差。那么如何使这一环节也能跟得上信息时代的脚步,彰显信息化时代的“高大上”,而不是停留在手动的输入那16—19位银行号码的阶段呢?中安未来银行卡手机拍照
    发表于 08-07 18:11 250次阅读

    手机APP银行卡拍照识别sdk

    机APP银行卡拍照识别sdk,利用OCR技术,只需要通过摄像头对准银行卡拍照就能够达到自动录入银行卡上的信息。手机APP
    发表于 01-02 17:31 498次阅读

    移动端银行卡识别技术,基于Android、iOS系统

    快速的抢占新增客户市场,银行、保险、移动支付、财务管理等众多领域、行业均把为用户提供最贴心、高效的服务作为企业的业务重心。 与手工输入银行卡号相比,移动端银行卡
    发表于 06-17 17:29 469次阅读

    移动支付时代必不可少的移动端银行卡识别技术

    受支付宝银行卡识别的启发,腾讯随后在微信、QQ中添加银行卡识别功能,通过技术上的创新提升用户支付的体验,均得到用户的肯定。为此,更多的行业用户希望在其业务系统中集成移动端
    发表于 06-17 17:34 596次阅读

    移动端银行卡识别助力解决银行卡录入的困扰

    银行卡。为此,阿里首先在支付宝钱包中添加银行卡识别功能,腾讯随后在微信、QQ中添加银行卡识别功能,通过技术上的创新提升用户支付的体验,均得到
    发表于 06-17 17:40 464次阅读