前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python开发---试用OCR文字识别API

Python开发---试用OCR文字识别API

原创
作者头像
MiaoGIS
修改2020-11-25 14:20:15
7.5K0
修改2020-11-25 14:20:15
举报
文章被收录于专栏:Python in AI-IOTPython in AI-IOT

AI如今发展迅速,各云厂商对通用的人脸识别,文字识别,语音识别和语音合成提供了接口。在日常中有些小场景还是可以用到这些通用AI接口使平台或软件锦上添花的。

比如身份管理。除了基本字段信息,同时可以上传身份证原件照片,来保证数据的准确性。(截图里的身份证照片和信息来源于网上公开,并且已经被模糊处理)

使用百度AI提供的身份证识别接口,同时使用它供演示的身份证照片。

当我们在浏览器上传过身份证照片后,同时调用百度AI的身份证识别接口返回身份证记录各字段信息,然后检查无误后,再添加识别结果到数据库。百度云网站上提供有多种语言版本的示例代码,分为两步:根据自己的API Key和Secret Key调用鉴权接口获取token,然后用token和图片的base64数据去调用身份证识别接口。Python代码如下:

代码语言:python
复制
# -*- coding:utf-8 -*-
import urllib, urllib2, sys
import ssl
import json
import base64

# client_id 为官网获取的AK, client_secret 为官网获取的SK

def getAccess_Token(ak,sk):
    print 'getAccess_Token'
    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s'%(ak,sk)
    request = urllib2.Request(host)
    request.add_header('Content-Type', 'application/json; charset=UTF-8')
    response = urllib2.urlopen(request)
    content = response.read()
    if(content):
   
        #print(content)
        res=json.loads(content)
        if(not res.has_key('error')):
            
            return res['access_token']
    return 0
def getIdcard(access_token,picUrl):
    print 'getIdcard'
    if(access_token==0):
        return None
    
    url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/idcard?access_token=' + access_token
    # 二进制方式打开图文件
    f = open(picUrl, 'rb')
    # 参数image:图像base64编码
    img = base64.b64encode(f.read())
    f.close()
    params = {"image": img, "id_card_side": "front"}
    params = urllib.urlencode(params)
    request = urllib2.Request(url, params)
    request.add_header('Content-Type', 'application/x-www-form-urlencoded')
    response = urllib2.urlopen(request)
    content = response.read()
    if (content):
        #print(content) 
        res=json.loads(content)
        if(res['image_status']=='normal'):
            return res['words_result']

    
    return None
#accessToken=getAccess_Token('Your API Key','Your Secret Key')

#res=getIdcard(access_token,'static/files/jpg/406811d6-a093-11e9-ab0f-5254004bb78e.jpg')

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文字识别
文字识别(Optical Character Recognition,OCR)基于腾讯优图实验室的深度学习技术,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档