如何把图片、PDF文件中的文字进行识别提取,这个问题仿佛困扰了我们很多年,直到现在,当急需OCR功能时也没有一个快速、高效且免费的在线工具或软件能马上拿来用。

前阵子的工作中正好有这个需求,我要把一篇PDF格式论文中的表格内容提取出来,供数据可视化使用。这些表格包含少量文字和大量数字,说多不多,说少也不少,人工提取数字出错率比较高。这时候!我又想找个“在线OCR工具”了!

一些号称在线快速OCR的网页,广告横飞且速度慢,上传文件后无反应,大都是标题党骗点击赚广告费的…… 个别看起来比较正经的OCR软件,全都收费,由于我的需求不多,而且就用这么一两次,还是不愿意花这个钱的。这时候我突然想起来一直飘在广告位的「百度文字识别OCR」,万一有试用可以白嫖一下呢。果然有免费额度赠送!

除通用场景文字识别外,还提供卡证文字识别、财务票据文字识别、医疗票据文字识别、汽车场景文字识别、教育场景文字识别、iOCR自定义模板文字识别等OCR服务场景,每个类别下还有细分的服务API,但除通用场景以外的大都不提供免费额度。

于是我试用了一下四种通用文字识别的API,按照官方的文档一步步来就可以了,这里我简化一下使用流程,仅需三步,十分钟满足你的OCR需求!

第一步,注册一个百度账号(https://passport.baidu.com/v2/?reg),如果已有请直接登陆。登录后点击页面中的「创建应用」:

“应用名称”随便取一个就好,接口选择用默认就可以(通用文字识别服务已作默认勾选),应用归属选“个人”,最后简单写一下“应用描述”即可。

填写完毕后,点击“立即创建”就可以了。

点击“返回应用列表”,点击“显示”查看所创建应用的 Secret Key:

至此,API 就申请好了。这里申请到的 API Key 和 Secret Key 复杂存好,等下要在脚本中调用。

第二步,准备好你的数据,图片形式即可,以这张图举例(随手拍一张书页内容):

最后一步,修改脚本中的 API_KEY 和 SECRET_KEY(第一步在应用列表里复制来的),然后修改你需要进行识别的图片路径 file_content,改完这三个参数,就可以运行脚本啦!

识别输出的文字结果如下:

完整的代码脚本可以参考官方指南(https://cloud.baidu.com/doc/OCR/s/dk3iqnq51),也可以参考我分解的 Jupyter 版,关注公众号「数据池塘」,回复「百度OCR」即可获取完整代码。

希望可以帮助到大家,祝顺利!