专栏名称: defaultCoder
今天看啥  ›  专栏  ›  defaultCoder

百度OCR文字识别实现

defaultCoder  · 简书  ·  · 2019-05-14 22:08

文章预览

文字识别什么的有时候还是用得上, 所以无聊的时候尝试了一下使用百度提供的服务实现文字识别.

废话不多说, 咱们开始.

准备工作

  1. 访问网站: 百度智能云
  2. 通过百度帐号登入(如果没有百度帐号请自行注册一个. 相信大家都是老司机, 常用百度云, 怎么可能没有帐号, 是我废话了)
  3. 返回到首页后, 通过导航栏, 选择产品→人工智能→文字识别, 点击文字识别


    选择文字识别
  4. 进入文字识别页面后选择立即使用(虽然是废话, 我还是一步步和大家介绍一下)
    文字识别介绍页面
  5. 可以看到文字识别的页面如下 (这里我已经创建了一个应用, 大家如果没使用过应该是0个)


    文字识别 - 概览
  6. 点击创建应用, 可以看到如下页面


    创建应用页
  7. 这里根据你的需要填选, 如果没有什么特殊需求, 填上应用名字和描述就可以点击立即创建了. 然后可以在应用列表中看到如下信息. (可以看到AppID, API Key被我马赛克了, 因为一天免费调用次数有限, 现在大家也已经创建了, 接下来就使用自己的吧~)


    应用列表

现在, 接口已经准备好了, 我们可以开始实现了.

这次是使用的Python进行的实现, 所以在此之前, 如果计算机中没有Python环境的话, 可以先安装一下, 这个过程我就不再演示了, 毕竟大家都是成年人了, 准备python环境这样的小问题就百度一下吧.

那么我们继续吧!

在此之前一定要准备好python环境哦!
Python版本:

  1. 我们需要在python中安装baidu-aip模块.
    在Dos窗口中执行pip install baidu-aip,
    pip install baidu-aip
  2. 然后我们创建一个python文件, 随便取个名字吧, 我这叫demo.py.
    然后代码如下:
from aip import AipOcr
import re
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
APP_ID='这里填写你的APP_ID'
API_KEY='这里填写你的API_KEY'
SECRECT_KEY='这里填写你的SECRECT_KEY'
client=AipOcr(APP_ID,API_KEY,SECRECT_KEY)
i=open(r'F:\Code\py\test.png','rb')
img=i.read()
message=client.basicGeneral(img)
for i in message.get('words_result'):
    print(i.get('words'))

需要注意:

  • APP_ID, API_KEY, SECRECT_KEY这三项记得填写大家刚刚在百度云智能中创建的应用相应的值
  • i=open(r'F:\Code\py\test.png','rb')中的F:\Code\py\test.png更改为你需要识别文字的图片

完成了, 运行即可.

那么我测试一下, 我的test.png是一张这样的图片:

test.png

运行结果(控制台中):


运行结果

ps: 如果你不知道如何运行.py文件, 那么也请百度一下吧!

我在尝试期间遇到的问题, vscode中运行python, 输出到控制台的中文乱码了. 解决方式如下

  1. 确保python 编码为utf8, 配置环境变量


    加入环境变量
  2. 在文件加入如下代码文中代码已经加入

import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览