不要钱,用Python识别图片中的文字

今天我们要学习的是在Python通过调用外部应用识别图片中的文字(OCR)。我们并不需要探究艰深的图像识别的原理和算法,只需要站在巨人的肩膀上知道如何调用百度的文字识别服务就可以用二三十行代码高效实现这个功能了。

首先,我们需要注册百度AI开放平台(ai.baidu.com),点击控制台后找到人工智能中的文字识别创建一个新应用,然后在应用详情里记下我们代码中所需的AppID、API Key、Secret Key。

接下来安装SDK。CMD打开命令提示符,输入pip install baidu-aip即可,如果没有安装pip,会提示命令不存在,已安装可以跳过下面两步。

安装pip包。到pypi.python.org/pypi/pip下载并解包,打开命令提示符窗口,在pip的目录下执行命令:python setup.py install。如果提示“ImportError: No module named setuptools”则说明缺少 “setuptools ”包。

安装setuptools包。到
pypi.org/project/setuptools下载并解包,打开命令提示符窗口,在setuptools的目录下执行命令:python setup.py install。

完成以上准备步骤后,开始编程。(图1)


三个常量均为标示用户,为访问百度云做签名验证。AipOcr是百度的Python SDK客户端的功能之一,为我们提供了一系列的识别图片文字的方法。

要调用这一功能非常简单。只需要这一句即可将图片中的文字识别并返回:

result = client.basicGeneral(image);

现在我们通过以下实例代码获得本地图片信息,执行图像识别,结果用print 输出看看。百度识别结果为每行文字一个大括号,再用两行代码整理一下文本格式,程序如图2。


执行程序,最基本的文字识别结果如图3,这个应用流程应该是本地识别图片信息上传至百度云运算返回识别结果,经过测试识别效果优质高效。


当然这仅仅实现了最简单的本地图片文字的基本识别。这个接口还有多项参数可以支持多国语言和各类证照票据二维码等特殊图片的识别。有兴趣的小朋友可以在


https://cloud.baidu.com/doc/OCR/s/Rjwvxzm3n查看接口文档。

这项服务的特殊功能有每天500次的免费使用次数,对于个人学习是完全够用了,如果作为公开应用超量的话还需要付费。

这次我们使用百度提供的服务直接跨进了OCR软件的门槛,在百度AI开放平台上还有语音识别、人脸识别、机器学习、图像识别等众多高大上的功能,直接使用这些人工智能的成果完成自己的应用是不是觉得编程更加有趣了?


# coding=gbk

from aip import AipOcr

# 定义常量

""" 你的 APPID AK SK """

APP_ID = '你的 APPID'

API_KEY = '你的 APP AK'

SECRET_KEY = '你的 APP SK'

# 初始化AipFace对象

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

# 读取图片

def get_file_content(filePath):

with open(filePath, 'rb') as fp:

return fp.read()

image = get_file_content('本地图片地址')

# 调用通用文字识别, 图片为本地图片

result = client.basicGeneral(image);

print (result)

#将所有的文字都合并到一起

for item in result['words_result']:

print(item['words'])

相关文章

Python 实现从文本文件提取数据并分析保存

一、引言在日常的数据处理工作中,我们经常会遇到从文本文件中提取特定信息并进行分析的需求。本文将详细介绍如何使用 Python 编写代码,从一个包含用户网络使用信息的文本文件中提取用户姓名、入站流量和出...

Python处理文本的25个经典操作

Python处理文本的优势主要体现在其简洁性、功能强大和灵活性。具体来说,Python提供了丰富的库和工具,使得对文件的读写、处理变得轻而易举。简洁的文件操作接口Python通过内置的open()函数...

Python:读取文本返回关键词及其权重

使用 jieba.analyse 库 函数 extract_tags( )从文本 data 中提取关键词,并返回关键词及其权重。参数:data:待分析的文本(字符串)。topK=10:提取权重最高的前...

Python读写docx文件

Python读写docx文件Python读写word文档有现成的库可以处理pip install python-docx安装一下。https://python-docx.readthedocs.io/...

Python读写文本数据

问题你需要读写各种不同编码的文本数据,比如 ASCII,UTF-8或UTF-16编码等。解决方案使用带有 rt 模式的 open()函数读取文本文件。如下所示:# Read the entire fi...

Python如何读取PDF中的文字和图片,请移步至此!

从PDF中提取内容能帮助我们获取文件中的信息,以便进行进一步的分析和处理。此外,在遇到类似项目时,提取出来的文本或图片也能再次利用。要在Python中通过代码提取PDF文件中的文本和图片,可以使用 S...