使用百度文字识别API进行图片中文字的识别

今天,为了满足我女朋友作业的需求,我使用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'])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/42140.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图片怎么识别文字?这几个方法很实用

在工作中,我们有时会需要将一些纸质资料存储为电子文档,毕竟纸质文档很容易因为环境的原因而损毁,比如天气比较潮湿时就很容易受潮,导致资料内容被破坏,因此我们额外另存一份电子文档还是很有必要。那要怎么快速将纸质…

使用tesseract识别图片中的文字

1.下载tesseract,并将其加入环境变量 下载地址:https://digi.bib.uni-mannheim.de/tesseract/ 这里我下载的最新版本,保存到D:\Tesseract 然后我们来设置环境变量: 右击“此电脑”——选择“属性”——找到“高级系统设置”——在…

从图片提取文字的终极解决方法 ——【通用文字识别 API】

写在前面 相信你用过类似对进行图片中的文字提取的功能,但是你了解过背后的原理吗? 本文将从图片中文字提取的原理以及应用案例等多方面进行讲述,希望一文能为你讲透通用文字识别。 通用文字识别是什么技术 随着信息化和数字化的发展&…

Python + Tesseract-OCR识别图片文字

考试答题偶然一次需要提取图片中的文字,所以搜索了一下解决方法 测试代码如下: from PIL import Image import pytesseracttextpytesseract.image_to_string(Image.open(../Demo/Chinese.png),langchi_sim) print(text)1.第一步首先的话需安装pytesser…

【文字识别】OCR截图文字识别提取(无需安装)拖拽图片,打开图片,图片PDF转文字的好帮手

软件无需安装,双击打开就能用,适用于Windows 7以上平台; 具有截图文字识别,拖拽文字识别,打开文字识别,翻译文字等功能 可用于图片和PDF中文字的识别提取中,电脑一切看得见的文件都可以识别&a…

图片文字识别

目录 第一章 系统描述 3 1.1系统概述 3 1.2系统的物理组成 4 第二章 需求分析模型 4 2.1 E-R图 4 2.2 数据流图 5 2.3 状态转换图 6 第三章 软件模块结构图 6 第四章 面向对象的视图 7 4.1 用例图 7 4.2 活动图 8 五、关键技术及实现 9 5.1 图像预处理 9 5.1.1 开发工具 9 5.1.…

tesseract-ocr .NET 识别图片中文字

github:http://​https://github.com/charlesw/tesseract​ 例子: https://github.com/charlesw/tesseract-samples 语言数据文件github:https://github.com/tesseract-ocr/tessdata 语言数据文件下载:https://github.com/tess…

不懂怎么识别图片中的文字?在线教你识别文字方法

我们在学习和工作中经常会遇到许多电子版、纸质版的资料和文件,但当我们需要复制这些资料的文本内容时,如果不借助识别软件,是很难快速地将它们复制粘贴出来。今天,我就来告诉大家几个简单的方法,教大家怎么识别图片中…

实现一个文字识别(图片转文字)工具

00 前言 最近做ppt,看到有些图片中的文字内容很好,一张一张地码字很累还很费时间。就想着有空做一个文字识别的小工具,方便办公流程。在网上查了一下资料,百度智能云提供了文字识别的接口,可以直接调用,挺方…

Android上图片文字识别

前言 OCR 是 Optical Character Recognition 的缩写,翻译为光学字符识别,指的是针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,通过识别软件将图像中的文字转换成文本格式,供文字处理软…

图片转文字,实用的图片文字识别工具

我们在平时的工作和学习生活中,一旦碰到一些需要拷贝下来的图片上的文字,通常我们的做法就是手动抄录文字,或者对照图片在电脑上敲打这些文字。 其实,现在已经有很多图片文字识别软件,我们可以直接利用工具来帮助我们…

如何识别图片中的文字?三种方法轻松搞定

在我们日常办公中,常常需要将纸质文件的文字提取出来,转为电子档,如果字比较少的情况,还可以手打。但是如果字比较多的话,就有些累了,还可能耽误后面的工作,是不是有小伙伴和我一样有这种困扰呢…

tesseract-ocr识别英文和中文图片文字以及扫描图片实例讲解

tesseract-ocr识别英文和中文图片文字以及扫描图片实例讲解 本文参考http://blog.sina.com.cn/s/blog_4aa166780101cji7.html实现,在这里感谢该文章的作者。 OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取…

识别图片中文字的三种方法/图片转文字

一、钉钉 钉钉内置了很多小功能。打开手机钉钉,点击左下角的消息按钮,然后点击右上角的号-扫一扫,点击拍图识字选中需要识别的文字即可。 二、QQ 打开手机QQ,点击右上角的+号-扫一扫之后,点击转文字把图片…

【老保姆教程】:Tesseract-OCR图片文字识别

文章目录 🌟介绍一波🌟小安装🌟配置环境变量⭐️tesseract-ocr配置⭐️tessdata语言配置⭐️检测环境变量是否安装成功 🌟语言包的配置使用🌟CMD命令框中进行图片识别操作⭐️举例一:识别数字⭐️举例二&am…

tesseract:从图片中识别文字信息

一、安装 tesseract 安装过程:https://blog.csdn.net/fengbohello/article/details/119272478 二、安装训练后的语言文件 下载英文数据:https://github.com/tesseract-ocr/tessdata/blob/master/eng.traineddata 下载简体中文数据:https:…

ChatGPT在智能外呼机器人领域的应用

随着人工智能技术的不断发展,自然语言处理(NLP)技术也逐渐成为各行各业的热门技术。其中,ChatGPT技术是近年来备受关注的技术之一。ChatGPT技术是一种基于自然语言处理和深度学习的人工智能技术,它可以处理自然语言文本,实现自动化…

Linux mailutils 如何使用 mail 指令在命令行发送邮件

Linux mailutils 如何使用 mail 指令在命令行发送邮件 一、mail 指令的说明 查看 mail 的帮助信息 mail --help能看到一些可用的参数 -A 添加文件作为邮件附件s 设置邮件标题 二、一般用法 1. 填写目标邮箱 mail kylebing163.com点击回车之后,它会让你输入抄…

linux中使用mail命令发送邮件详解

linux中使用mail命令发送邮件详解 1、最简单的三种发邮件方式 第一种 #可以把当前的shell当成编辑器来使用,编辑完成后使用ctrld来结束编辑并发送 mail -s test 12121qq.com第二种 #使用|进行编辑发送 echo "test"|mail -s test 12121qq.com第三种 #…

通讯白名单的设置与使

通讯白名单是指只有白名单中的人员可以给该用户发送电子邮件和微讯,如果没有设置通讯白名单,系统中所有的人员都可以给其发送电子邮件和微讯。 通讯白名单的设置 在系统管理--组织机构设置--用户管理中点击要设置人员对应的“更新”按钮,更…