今天,为了满足我女朋友作业的需求,我使用Python制作了一个图片转文字的小应用。
(当然,下面导入模块的问题我就不多说了,是非常简单的)

一. 申请百度通用文字识别接口。

1.先在百度AI开放平台注册账号(点击这里进入百度智能云)。一般使用百度账号即可。

2.注册成功后登录,在右侧菜单栏中寻找文字识别功能。

3.进入后创建一个新的应用,并按要求填写好应用名称等信息后,立即创建即可。

4.创建完成后,我们可以看到应用的信息,这些信息在后续写代码中时至关重要的。(注意:Secret Key是不可泄露的!!!)

二. 到了这一步,我们真正的进入到程序中来。

1.baidu-aip模块安装
在Pycharm中新建Project,在工程文件夹中新建一个py文件,命名随意。点击File->Setting,进入Setting。刚开始没有baidu-aip模块,点击右侧加号搜索baidu-aip进行安装。



2.因为我们这次只测试两张图片,所以我们在与py文件同级下新建一个目录images,里存放我们需要识别的所有图片(这些图片最好按1,2……命名,在读入时会按数字顺序一张一张扫描)。

------1.jpg

-----2.jpg

3.首先我们先找到这些图片所在文件夹的路径

PROJECT_ROOT = os.path.dirname(os.path.realpath(__file__))#获取项目根目录
path = os.path.join(PROJECT_ROOT,"images") #文件路径

4.将百度AppID, API Key, Secret Key这些关键信息写入调用百度ORC接口。这里要导入我们安装好的baidu-aip模块了。

"""你的百度AppID, API Key, Secret Key"""
APP_ID = '16545975'
API_KEY = 'qbK2kKKtrXTo0rE1rg4M6Tl6'
SECRET_KEY = 'xxxxxxxxxxxx'client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

5.定义打开图片的函数

"""打开文件,读取图片"""
def get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.read()

6.循环读入目录中的每一张图片

for r, ds, fs in os.walk(path):for fn in fs:fname = os.path.join(r, fn)image = get_file_content(fname)ret = client.basicGeneral(image)#print(ret)#print(ret['words_result'])for item in ret['words_result']:print(item['words'])

5.接下来我们一步一步的分析结果,首先我们调用通用文字识别,打印结果看看是什么吧!(我们只截前面一部分)

# 调用通用文字识别,图片参数为本地图片
ret = client.basicGeneral(image)
print(ret)


可以看到,结果是一个字典,我们需要的图片内容都在关键字为words_result中,又可以发现,这个关键字的值是一个列表。我们先把这个字典中的words_result关键字的值取出来并打印。

print(ret['words_result'])


这样我们就取出了这个列表,图片中文字的内容是分段显示的,每一段又是一个字典(在图片中每一次换行都会形成一个字典),这就很简单了,我们只需要把每个字典中的关键字word的值取出来拼接上不就是我们图片中想要的内容了吗?这就要借助我们的循环。

for item in ret['words_result']:print(item['words'])


可以看到,输出的格式和图片中的格式是完全一样的。两张图片的内容已经被我们全部扫描出来了。

到这里这个小应用就全部结束了,大家可以根据需要继续完善,例如将输出结果保存到文本文件中等等。表情包中的文字也是可以识别的哦!

今天拿着QQ文字扫描发现QQ识别率还是很高的,但是一张一张太麻烦了,我想还是让他们自己来识别更方便。

完整代码:

from aip import AipOcr
import os"""你的百度AppID, API Key, Secret Key"""
APP_ID = '16545975'
API_KEY = 'qbK2kKKtrXTo0rE1rg4M6Tl6'
SECRET_KEY = 'xxxxxxxxxxx'client = AipOcr(APP_ID, API_KEY, SECRET_KEY)"""打开文件,读取图片"""
def get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.read()PROJECT_ROOT = os.path.dirname(os.path.realpath(__file__))#获取项目根目录
path = os.path.join(PROJECT_ROOT,"images") #文件路径for r, ds, fs in os.walk(path):for fn in fs:fname = os.path.join(r, fn)image = get_file_content(fname)ret = client.basicGeneral(image)for item in ret['words_result']:print(item['words'])

使用百度文字识别API进行图片中文字的识别相关推荐

  1. python识别图片文字_使用百度文字识别API进行图片中文字的识别

    今天,为了满足我女朋友作业的需求,我使用Python制作了一个图片转文字的小应用. (当然,下面导入模块的问题我就不多说了,是非常简单的) 一. 申请百度通用文字识别接口. 1.先在百度AI开放平台注 ...

  2. Java调用百度OCR文字识别API实现图片文字识别软件

    java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...

  3. java ocr api_Java调用百度OCR文字识别API实现图片文字识别软件

    Java调用百度OCR文字识别API实现图片文字识别软件 原创isinple 发布于2019-01-06 13:35:59 阅读数 1296 收藏 展开 java_baidu_ocr Java调用百度 ...

  4. 用selenium获取土地交易数据并用百度智慧云API图片转文字

    用selenium获取土地交易数据并用百度智慧云API图片转文字 1.数据获取 1.1 分析网页结构 1.2 selenium的坑 1.3 获取所有网页的标题和链接 1)selenium查找链接 2) ...

  5. 基于百度云人脸识别API与opencv的人脸识别系统

    基于百度云人脸识别API与opencv的人脸识别系统 简介 弄这个东西是因为参加了学校的项目,第一次开发做的不是很好. 本系统是基于百度云人脸识别API.opencv级联器.PYQT5进行开发.百度云 ...

  6. 如何调用百度文字识别API提取图片文字并保存-保姆级教程

    百度API 百度API是百度提供的一套开放的应用程序接口,它允许开发者在百度的基础上构建应用程序,并通过百度的各种渠道进行推广和营销.百度API分为移动.Web.智能客服.数据.娱乐.传统IT六大类, ...

  7. Python + Baidu API 实现图片中文字的提取

    Baidu API系统为开发者提供了许多实用的API,其中文字识别API服务功能较为成熟,如图所示已经可以满足生活中绝大多数文字识别的需求.我为大家演示一下较为基本的通用文字识别的功能.(文字识别AP ...

  8. 调用百度智能云API,实现身份证智能识别并转语音 | Python

    一.百度云新建应用.获取权限和额度 1. 登录百度智能云,产品服务-->人工智能-->图像识别 2. 应用列表-->创建应用,用于身份证照的信息识别 3. 应用创建完成,得到APP_ ...

  9. 基于虹软人脸识别API和Qt5的人脸识别

    2019独角兽企业重金招聘Python工程师标准>>> 测试和使用了虹软的人脸API在QT5环境下设计了一个简单的人脸识别软件,实现了对人脸的跟踪和人脸识别.摄像头的控制以及图像格式 ...

最新文章

  1. C语言网络编程:bind函数详解
  2. 2021全球最具影响力 AI 学者榜单: 中国占比11.1%,位列第二
  3. 2018年机器视觉前景预测
  4. 我可以在Android版式中加下划线吗?
  5. 【源码】net_device结构
  6. 斜杠青年Ruff:区块链只是分内事
  7. hbase 使用lzo_带你快速上手HBase | HBase列族优化
  8. 很棒的VC界面库 - GuiToolkit
  9. 展锐sc8541E多媒体网络摄像播放-液晶驱动一体板
  10. SpringBoot项目整合JasperReport报表生成PDF并下载
  11. ZOJ3551 Bloodsucker(概率dp)
  12. 学习JS的这些日子——十二月总结
  13. arch配置之百度网盘
  14. Wechaty|不使用微信的web协议的机器人
  15. 最新Symantec企业版官方专用卸载工具
  16. RTOS系统全Thumb编译+Neon加速火力全开
  17. SSM集成支付宝(沙箱环境)
  18. 软件测试课堂作业+期末整理【超实用】
  19. 一款开源免费的任务日程管理工具ToDoList
  20. 自学神经网络要多久,神经网络要训练多久

热门文章

  1. 机器学习——统计学三大相关性系数(pearson、spearman、kendall)
  2. android经纬度查询,Android - 经纬度获取
  3. 情侣的网站代码java_GitHub - ByronCui/lovers-website: 程序员的情侣网站 (programmer's website of lovers)...
  4. narwal机器人_Narwal云鲸智能扫拖机器人,值得托付的家庭卫生管家
  5. 商战传奇:周鸿祎死磕雷军的背后的三重玄机
  6. 实时数据库和关系数据库的区别、对比
  7. docker安装和基本命令
  8. 我的世界 服务器文件ess,求助服务器ess插件报错怎么解
  9. Zabbix整合ELK实现日志数据的分析实时监控
  10. 如何用计算机解锁苹果手机软件,屏幕显示连接到iTunes,如何解锁iPhone? -