❖ 一篇文章搞定百度OCR图片文字识别API

研究百度OCR的API,主要是向做对扫描版的各种PDF进行文字识别并转Word文档的需求。

这里用Postman客户端进行测试和演示。因为Postman是对各种API操作的最佳入门方式。一旦在Postman里实现了正确的调用,剩下的就只是一键生成代码,和一些细节的修改了。

参考百度云官方文档:文字识别API参考
下载官方文档PDF:OCR.zh.pdf

授权字符串 Access Token

Token字符串永远是你使用别人API的第一步,简单说,就是只有你自己知道的密码,在你每次向服务器发送的请求里面加上这个字符串,就相当于完成了一次登录。

如果没有Token授权认证,API的访问可能会像浏览网页一样简单。

Access Token一般是调用API最重要也最麻烦的地方了:每个公司都不一样,各种设置安全问题让你的Token复杂化。而百度云的Token,真的是麻烦到一定地步了。

参考:百度API的鉴权认证机制 (建议你不要参考,因为它的流程图会先把你镇住的)

简单说,获取百度云token字符串的主要流程就是:

  • 创建一个应用,获得只有自己知道的id和密码
  • 用POST方式把id和密码发给百度的一个链接:
    https://aip.baidubce.com/oauth/2.0/token
  • 其中,需要你向这个地址传送三个参数:
    • grant_type = client_credentials 这个是固定的
    • client_id = xxx 这个是你在百度云管理后台创建OCR应用的时候,那个应用的API Key
    • client_secret = xxx 这个是你的应用的Secret Key
  • 等待服务器返还给你一个包含token字符串的数据
  • 记住这个token字符串,并用来访问每一次的API

来看看怎么利用Postman操作,如下图所示:


image

填好以后点击Send发送,就会获得一个JSON数据,如下图:


image

然后你用你的程序(Python, PHP, Node.js等,随便),获取这个JSON中的access_token
即可用到正式的API请求中,做为授权认证。

正式调用API: 以"通用文字识别"为例

API链接:https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic

提交方式:POST

调用方式有两种:

  • 方式一:直接在URL填写信息
    直接把API所需的认证信息放在URL里是最简单最方便的。
  • 方式二:Headers填写信息方式
    建议忽略这种方式,需要填写很多request的标准headers,太麻烦。

Headers设置:

  • Content-Type = application/x-www-form-urlencoded
    只要填这一项就够了。

Body数据传送的各项参数:

  • access_token = xxx 把之前获取到的token字符串填到这里来
  • image = xxx 把图片转成base64字符串填到这里,不需要开头的data:image/png;base64,
  • url = xxx 也可以不用传图片而是传一个图片的链接。但是百年无效,不要用!
  • language_type = CHN_ENG 识别语言类型。默认中英。

Body的数据如图所示:


image

然后就可以点Send发送请求了。
成功后,可以得到百度云返回的一个JSON数据,类似下图:


image

返回的是一行一行的识别字符。百度云的识别率是相当高的,几乎100%吧。毕竟是国内本土的机器训练出来的。

API常用地址

以下是百度云的OCR常用API地址,每个API所需的参数都差不多,略有不同。所有的API和地址以及详细所需的参数,参考官方文档,很简单。一个弄明白了就其他的都明白了。

API 请求地址 调用量限制
通用文字识别 https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic 50000次/天免费
通用文字识别(含位置信息版) https://aip.baidubce.com/rest/2.0/ocr/v1/general 500次/天免费
通用文字识别(高精度版) https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic 500次/天免费
通用文字识别(高精度含位置版) https://aip.baidubce.com/rest/2.0/ocr/v1/accurate 50次/天免费
网络图片文字识别 https://aip.baidubce.com/rest/2.0/ocr/v1/webimage 500次/天免费
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,651评论 1 180
  • 每个人都怀揣着梦想,我也不例外。 一直来都想学习摄影,想成为一名优秀的摄影师,想带着相机走遍各个美丽的地方记录下最...
    b5b3a45b6409阅读 111评论 0 0
  • 这个夏天上的新剧不少,相信学生党在暑期里把存货都补得差不多了吧,不过不用担心,9月也不会剧荒,新片好剧不断。 之前...
    闲着嘛阅读 848评论 2 3
  • 我们在PHP中的变量也是如此。不过有几个特点: 必须要以$开始。如变量x必须要写成$x 变量的首字母不能以数字开始...
    幸宇阅读 266评论 0 0