python版基于腾讯云API 的OCR证件识别

2019-07-03 18:02:01 浏览数 (1)

前言

炎炎夏日,脾气暴躁的我,一言不合就开始写代码。

今天给大家带来的是腾讯云的OCR文字识别

使用场景

微信证件OCR广泛适用于政务、医疗、交通、教育、金融等各行各业,涉及到需要用户输入身份信息、银行卡信息、车辆信息场景时,即可通过OCR识快速识别、输入信息,极大提高输入效率,提高用户体验。

本教程采用了Python语言,需要其他编程语言的,可以参考腾讯云的SDK文档

开发准备

使用 pip

Python 2:

pip install qcloud_image

Python 3:

pip3 install qcloud_image

正文

  • 安装OCR python sdk
  • 配置云API密钥
  • 根据文档编写程序

第一步~下载

首先去SDK文档中下载我们所需要的SDK

我这里使用的是pychcarm编辑器,直接设置

并安装即可

第三步~编码

在解压的目录下新建测试文件 test.py

然后根据文档提供的信息,进行编码(编码内容最后放出来)

第四步~创建万象优图的Bucket

地址: https://console.cloud.tencent.com/ci/bucket

必须先登陆控制台

创建好Bucket后,进入云API密钥进行查看

查看我们的appid, secret_id, secret_key, bucket

第五步~完成编码并运行

代码如下:

代码语言:txt复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-

##从qcloud_image包导入相关
from qcloud_image import Client
from qcloud_image import CIUrl, CIFile, CIBuffer, CIUrls, CIFiles, CIBuffers

#设置你的appid, secret_id, secret_key, bucket
appid = 'appid'
secret_id = 'secret_id'
secret_key = 'secret_key'
bucket = 'bucket'

client = Client(appid, secret_id, secret_key, bucket)
client.use_http()
client.set_timeout(30)

#身份证识别
#单个或多个图片file     0表示身份证正面
print (client.idcard_detect(CIUrls(['http://imgs.focus.cn/upload/sz/5876/a_58758051.jpg']), 0))
//单个或多个图片 本地文件File,识别身份证正面
print (client.idcard_detect(CIFiles(['./id4zheng.jpg','./id1zheng.jpg']), 0))
//单个或多个图片 Url,识别身份证反面
print (client.idcard_detect(CIUrls(['http://www.csx.gov.cn/cwfw/bszn/201403/W020121030349825312574.jpg', 'http://www.4009951551.com/upload/image/20151026/1445831136187479.png']), 1))
//单个或多个图片 File,识别身份证反面
print (client.idcard_detect(CIFiles(['./id5_fan.jpg']), 1))

这里说明下

腾讯云的证件识别,识别不出的时候可能会报错,具体错误信息查看详细文档。

运行结果

image.pngimage.png

好了,最终附上代码:

0 人点赞