Python调用腾讯API进行银行卡识别
Posted ZHW_AI课题组
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python调用腾讯API进行银行卡识别相关的知识,希望对你有一定的参考价值。
目录
1. 作者介绍
王杰,男,西安工程大学电子信息学院,2021级研究生
研究方向:机器人与智能装备控制技术
电子邮件:627052495@qq.com
吴燕子,女,西安工程大学电子信息学院,2021级研究生,张宏伟人工智能课题组
研究方向:人工智能与模式识别
电子邮件:1219428323@qq.com
2. 腾讯云银行卡识别介绍
2.1 腾讯云银行卡识别API接口描述
能够对中国大陆主流银行卡正反面关键字段的检测与识别,包括卡号、卡类型、卡名字、银行信息、有效期。支持竖排异形卡识别、多角度旋转图片识别。支持对复印件、翻拍件、边框遮挡的银行卡进行告警,可应用于各种银行卡信息有效性校验场景,如金融行业身份认证、第三方支付绑卡等场景。
2.2 接口说明
本实验采用HTTP 方法:POST。HTTP是超文本传输协议(Hyper Text Transfer Protocol)的缩写,其用于从服务器传输超文本到本地浏览器的传送协议,本实验采取POST请求方法。
请求URL:ocr.tencentcloudapi.com
2.3 调用腾讯API实现银行卡识别
1.注册腾讯云账号并实名
2.进入密钥管理功能
3.新建密钥
4.搜索银行卡OCR识别
5.开始调试
6.填写必要参数
7.生成python代码
3. 实验过程
3.1 实验代码
import json
import base64
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.ocr.v20181119 import ocr_client, models
try:
cred = credential.Credential("***", "***")
#实例化认证对象,需要传入所获得得secretID和secretKey
httpProfile = HttpProfile()#设置代理
httpProfile.endpoint = "ocr.tencentcloudapi.com"#指定域名
clientProfile = ClientProfile()#实例化一个客户端配置对象
clientProfile.httpProfile = httpProfile
client = ocr_client.OcrClient(cred, "ap-guangzhou", clientProfile)#实例化要请求产品的client对象
img_dir = r"C:\\card.jpg" ###编写程序,将图片转成base64编码
with open(img_dir, 'rb') as f:
base64_data = f.read()
base64_code = str(base64.b64encode(base64_data), 'utf-8')
#导入要检测的银行卡照片,并将其转换成base64编码
req = models.BankCardOCRRequest()
params = '"LanguageType":"auto"'#params表示请求的参数,为图片base64编码
req.from_json_string(params)
req.ImageBase64 = base64_code
resp = client.BankCardOCR(req)#反馈
print(resp.to_json_string())#输出
except TencentCloudSDKException as err:
print(err)
3.2 运行结果
以上是关于Python调用腾讯API进行银行卡识别的主要内容,如果未能解决你的问题,请参考以下文章