python利用百度API进行文字识别

首先需要在百度的AI中新建一个应用列表,获取我们需要的API Key与Secret Key

按照百度官方API的demo,可以获取到token_id

#client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=ZCBYh4Ceho9BgOhovBNr7vO3&client_secret=*****************************'
request = urllib.request.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib.request.urlopen(request)
content = response.read()
if (content):
    print(content)

之后我们用python写一个post请求,把我们的参数按照百度API的格式发送给百度文本检测的URL,就可以看到图片中被检测出的文字了

import urllib
from urllib import parse
import base64
import cv2
headers = {
    'Content-Type': 'application/x-www-form-urlencoded',
}
postData = {
    'image' : base64.b64encode(cv2.imencode('.jpg', cv2.imread('E:/pythonCode/175429.jpg'))[1]).decode(), #图片 base64格式
    'language_type': 'CHN_ENG', #中英双语
    'detect_direction': 'false', #文字方向
    'detect_language': 'false', #语言
    'probability': 'true', #判断为目标文字的概率
}
data = urllib.parse.urlencode(postData).encode('utf-8')
req = urllib.request.Request(url='https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?'
                           'access_token=**********************',
                           headers=headers, data = data)
response = urllib.request.urlopen(req)
# 通过get请求返回的文本值
print(response.read().decode('utf-8'))

 

返回结果如下:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值