Python——调用百度AI实现图片上文字识别

  • 简介
  • 步骤
    • 安装百度AI库
    • 注册百度AI开放平台
    • 调用glob库
    • 调用AipOcr库识别文字
      • 可能会遇到的问题
    • 批量操作

简介

Python免费调用百度AI实现图片上面的文字识别

步骤

安装百度AI库

!pip install baidu-aip

注册百度AI开放平台

先注册百度AI,获得ID和密钥。注册方法可参考:注册方法 只需走到 “1.6 获取密钥” 即可。然后记录下自己的APP_ID、API_KEY、SECRET_KEY,就可以开始了。

调用glob库

glob库用于获得指定路径下的指定后缀的文件,图片使用的是《数学模型》pdf扫描版,部分如下:

import glob
path = "数学模型\\"
glob.glob(path+"*.png")

指定文件夹中的指定的.png后缀的文件,全部提取出来了:

选取第一张图片 “数学模型1.png” 做测试:

files = glob.glob(path+"*.png")
file = files[0]

调用AipOcr库识别文字

导入AipOcr模块,这个模块是用于做文字识别的(OCR即Optical Character Recognition,光学字符识别)。填入你申请的ID和KEY,client = AipOcr()是固定写法。先用二进制方式rb打开,然后读取,再调用百度AI进行识别,并将识别结果存入message变量。

from aip import AipOcr #导入AipOcr模块,用于做文字识别
import globAPP_ID = '*********' # 你申请的
API_KEY = '*********'# 你申请的
SECRET_KEY = '*********'# 你申请的
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)pic = open(file,'rb')# 以二进制(rb)打开
img = pic.read() # 读取
message = client.basicGeneral(img) # 调用百度AI识别图片中的文字

查看message参数,结果如下:

可见,message参数的结果为 “大字典” 形式,其中的键 words_result 所对应的值为一个 “大列表” ,这个列表里又有很多键值对,键都是words,值就是AI从图片上识别出来的内容。使用语句message['words_result'][0...n]['words']可以筛选出该页的标题:

message['words_result'][1]['words']


for循环逐行提取:

for words in message['words_result']:word = words['words'] # 提取文字print(word)

识别效果图:


识别也不是完美的,有很多识别错误与未识别出的文字。当然,原图字体越清晰,识别度越高。

可能会遇到的问题

识别过程中可能会遇到类似识别错误(无法识别)问题,原因是未领取免费识别次数,解决过程如下:
百度OCR API识别失败:Open api qps request limit reached 错误 解决方法

批量操作

批量操作的核心为for循环,txt_file = open('数学模型.txt', 'a')指打开名字为“数学模型”的文本文件(若不存在则自动新建),模式为添加模式,即’a’模式。添加模式是指,如果文本中已经有一些内容,则接着往下写,不会影响原来的内容。如果是’w’模式,则会将之前的内容全部覆盖。然后遍历待处理的图片,逐个处理:

from aip import AipOcr #导入AipOcr模块,用于做文字识别
import globAPP_ID = '*********' # 你申请的
API_KEY = '*********'# 你申请的
SECRET_KEY = '*********'# 你申请的
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)path = "数学模型\\"
files = glob.glob(path+"*.png")txt_file = open('数学模型.txt', 'a')for file in files:pic = open(file,'rb')# 以二进制(rb)打开img = pic.read() # 读取message = client.basicGeneral(img) # 调用百度AI识别图片中的文字for words in message['words_result']:word = words['words'] # 提取文字print(word)txt_file.write(word) # 将文字写入文本文件txt_file.close() # 关闭文本文件

感谢观看!对你有帮助的话可以点点赞,欢迎在评论区留言讨论!

Python——调用百度AI实现图片上文字识别相关推荐

  1. 【应用】Python调用百度AI实现图片上表格识别

    [应用]Python调用百度AI实现图片上表格识别 简介 步骤 安装百度AI库 注册百度AI开放平台 调用AipOcr库识别表格文字 可能遇到的问题 批量操作 简介 Python免费调用百度AI实现图 ...

  2. 调用百度AI平台API进行文字识别和图片识别

    写在前面 这应该是本年度的最后一篇技术博客了,今年在CSDN上总共发表了20篇博客,除掉几篇LeetCode的博客,都是个人工作的总结,总体来说,收获不少,随手记录的习惯也养成了.希望来年持之以恒. ...

  3. python调用百度AI提取图片文字

    python本身也有识别图片转文字的框架,但是相比调用接口,识别的精度就略显不行了: 这是 百度AI 的网站: https://ai.baidu.com/ ; 点击右上角的 控制台 ,申请或者登陆: ...

  4. python调用百度AI识别文字和表格

    python调用百度AI识别文字和表格 获取账户信息 1.需要先注册百度AI,获得ID和密钥.百度AI社区关于注册的详细说明:https://ai.baidu.com/forum/topic/show ...

  5. python利用百度AI进行图片识别与分类

    python利用百度AI进行图片识别与分类 声明 此博客纯属记录我学习的过程,是本人的一次大作业,如果程序中有问题或者有更好的实现方法希望各位前辈多多指点 背景 大多数人的相册都是乱七八糟的,动物的照 ...

  6. Python利用百度AI提取图片中的文字信息

    Python利用百度AI提取图片中的文字信息 安装百度AI : pip install baidu-aip 到https://console.bce.baidu.com/ai/创建文字识别应用,获取A ...

  7. 小福利,通过python利用百度ai实现图片识别

    大家好,我是天空之城,今天给大家带来小福利,通过python利用百度ai实现图片识别.有兴趣加qq群,纯学习,1098016198. 至于api接口的APP_ID ,API_KEY ,SECRECT_ ...

  8. python调用百度AI自动识别并提取图片上指定位置的文字信息

    这是一个三个月前的项目需求,需要识别多张图片上固定位置的信息并提取.说到python 上文字识别,可能有些人想用 pytesseract 来做,怎么说呢,识别精准度相对较低,而且对于数量较大的图片来说 ...

  9. python调用百度AI接口识别营业执照

    上一篇文章介绍了应用python中的pytesseract库和OCR识别软件进行文字识别.本文介绍应用百度AI的文字识别功能对营业执照进行识别,感兴趣的朋友一起来看看效果吧.    一.安装baidu ...

最新文章

  1. php学习之道:WSDL具体解释(三)
  2. Nginx禁止特定用户代理(User Agents)访问(转)
  3. hive 提交不到yarn_在Linux将MapReduce程序提交给YARN执行
  4. [原创]关于在VS2008和VS2010中禁用及卸载Visual Assist X的方法研究
  5. SpringBoot+AntV实现一次前后端交互渲染多个饼状图
  6. JRE与JDK,SDK的区别
  7. 分布式服务器客户端实验
  8. JPA 2.1类型转换器–保留枚举的更好方法
  9. 服务器虚拟化性能瓶颈怎么办,如何突破虚拟化三大瓶颈
  10. Rabbitmq消息可靠投递和重复消费等问题解决方案
  11. 简历编写技巧-java开发工程师简历实战
  12. 链接数据库 并且进行查询操作
  13. 3D点云目标检测综述
  14. CentOS更改root密码
  15. mysql 乐观锁 超卖_秒杀系统之一:防止超卖(乐观锁)
  16. H3C交换机配置trunk
  17. 电脑画流程图用什么软件好?这3款软件很好用
  18. 处理导入的原理图库中Designator字体不对的问题
  19. sql中可用的模糊搜索方法
  20. Jquery选择器之可见性选择器、属性过滤选择器

热门文章

  1. C#测试网络连接测试
  2. android 涂鸦软件demo,涂鸦demo(swift)这是一款涂鸦软件,能够实现对图片的基本操作...
  3. aistudio解压zip
  4. Zigbee HA 框架学习笔记
  5. 问题 : Day of Week
  6. twitter三方登录的实现
  7. 基于华视身份证读卡器读取身份证信息的Android demo
  8. 解决潘多拉路由器固件使用AIDISK共享优盘,出现U盘每次爆满问题
  9. NKOJ 1361 帮帮吉米(Help Jimmy)
  10. linux su -c 命令