如何用Python识别图片中的文字?

如何用Python识别图片中的文字?

转:https://mp.weixin.qq.com/s/wXDJoAAI8y1mtbUuwATngQ

以下文章来源于微信公众号:新建文件夹X ,作者ZackSock

新建文件夹X

大自然用数百亿年创造出我们现实世界,而程序员用几百年创造出一个完全不同的虚拟世界。我们用键盘敲出一砖一瓦,用大脑构建一切。人们把1000视为权威,我们反其道行之,捍卫1024的地位。我们不是键盘侠,我们只是平凡世界中不凡的缔造者。

一、前言

不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制。或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存。但是当我们想用到里面的文字时,还是要一个字一个字打出来。那么我们能不能直接识别图片中的文字呢?答案是肯定的。

二、Tesseract

文字识别是ORC的一部分内容,ORC的意思是光学字符识别,通俗讲就是文字识别。Tesseract是一个用于文字识别的工具,我们结合Python使用可以很快的实现文字识别。但是在此之前我们需要完成一个繁琐的工作。

1.Tesseract的安装及配置

Tesseract的安装我们可以移步到该网址 https://digi.bib.uni-mannheim.de/tesseract/,我们可以看到如下界面:

有很多版本供大家选择,大家可以根据自己的需求选择。其中w32表示32位系统,w64表示64位系统,大家选择合适的版本即可。

可能下载速度比较慢,大家可以选择链接:https://pan.baidu.com/s/1jKZe_ACLQCVXiCmvHj9adw 提取码:ayel下载。安装时我们需要知道我们安装的位置,将安装目录配置到系统path变量当中,我们路径是D:\CodeField\Tesseract-OCR

我们右击我的电脑/此电脑->属性->高级系统设置->环境变量->Path->编辑->新建然后将我们的路径复制进去即可。添加好系统变量后后我们还需要依次点确定,这样才算配置好了。

2.下载语言包

Tesseract默认是不支持中文的,如果想要识别中文或者其它语言需要下载相应的语言包,下载地址如下:https://tesseract-ocr.github.io/tessdoc/Data-Files ,进入网站后我们往下翻:

其中有两个中文语言包,一个Chinese-Simplified和Chinese-Traditional,它们分别是简体中文和繁体中文,我们选择需要的下载即可。下载完成后我们需要放到Tesseract的路径下的tessdata目录下,我们路径是D:\CodeField\Tesseract-OCR\tessdata

3.其它模块下载

除了上面的步骤,我们还需要下载两个模块:

pip install pytesseract
pip install pillow

第一个是用于文字识别的,第二个是用于图片读取的。接下来我们就可以进行文字识别了。

三、文字识别

1.单张图片识别

接下来的操作就要简单的多,下面是我们要识别的图片:

接下来就是我们文字识别的代码:

import pytesseract
from PIL import Image
# 读取图片
im = Image.open('sentence.jpg')
# 识别文字
string = pytesseract.image_to_string(im)
print(string)

识别结果如下:

Do not go gentle into that good night!

因为默认是支持英文的,所以我们可以直接识别,但是当我们要识别中文或其它语言时就需要做些修改:

import pytesseract
from PIL import Image
# 读取图片
im = Image.open('sentence.png')
# 识别文字,并指定语言
string = pytesseract.image_to_string(im, lang='chi_sim')
print(string)

在识别时,我们设置lang='chi_sim',也就是把语言设置为简体中文,只有当你的tessdata目录下有简体中文包该设置才会生效。下面是我们用来识别的图片:

识别结果如下:

不 要 温 顺 的 走 进 那 个 良 夜

图片内容被准确识别出来了。有一点我们需要知道,在我们将语言设置为简体中文或其它语言后,Tesseract还是可以识别出英文字符。

2.批量图片识别

既然我们把单张图片识别列出来了,就肯定还有批量图片识别这个功能,这就需要我们准备一个txt文件了,比如我有text.txt文件,内容如下:

sentence1.jpg
sentence2.jpg

我们将代码修改为如下:

import pytesseract
# 识别文字
string = pytesseract.image_to_string('text.txt', lang='chi_sim')
print(string)

但是这样自己写一个txt文件难免有些麻烦,因此我们又可以进行如下修改:

import os
import pytesseract
# 文字图片的路径
path = 'text_img/'
# 获取图片路径列表
imgs = [path + i for i in os.listdir(path)]
# 打开文件
f = open('text.txt', 'w+', encoding='utf-8')
# 将各个图片的路径写入text.txt文件当中
for img in imgs:f.write(img + '\n')
# 关闭文件
f.close()
# 文字识别
string = pytesseract.image_to_string('text.txt', lang='chi_sim')
print(string)

这样我们只需要传入一个文字图片的根目录就可以批量进行识别了。在测试过程中发现,Tesseract对手写体、行楷等飘逸的字体识别不准确,对一些复杂的字识别也有待提升。但是宋体、印刷体等笔画严谨的字体识别准确率很高。另外如果图片的倾斜大于一定的角度,识别结果也会有很大差别。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【Python案例】OCR提取图片中的文字

很多软件内置了OCR功能,即图片提取文字功能。有些是免费提供给大家使用,但有些是收费的。不管是免费的还是收费的,终究逃离不了隐私问题。用别人的OCR,总得把图片传到对方的服务器。今天我们使用Python开发一个OCR软件&#xff0c…

python写一个自动识别图片提取文字

python写一个自动识别图片提取文字。 ** 1.介绍 使用python写一个自动识别图片提取文字的exe. 进行图像的文字识别,将图像中的文字提取出来,可以帮助我们完成很多有趣的事情。 准备工作 import keyboard #安装: pip install keyboard fr…

基于Tesseract模块Python实现提取图片中的文字信息(安装+使用教程)

Python实现提取图片中的文字可以使用Optical Character Recognition (OCR) 技术来解决。OCR是指将图像中的文本转换成可编辑的文本的过程。Python有许多OCR库,但最流行和最广泛使用的是Tesseract库。 下面是一个使用Python和Tesseract来提取图像中的文本的简单示例…

Python图片文字提取

图片信息现在越来越广泛的存在于我们的日常生活中,获取图片内的文字信息也渐渐的成为当今生活中的需求,在学习完Python的基础知识后,本小白以此语言为工具,使用百度提供的图像识别接口来实现简单的图片文字提取(承蒙各…

pytesseract提取识别图片中的文字

目录 1、获取tesseract版本号 2、获取语言包列表 3、识别图片中的文字 4、获取图片中文字的详细信息 5、识别图片中的文字和位置 6、识别osd信息 7、识别并生成xml文件 避坑指南: pytesseract是对Tesseract-OCR命令行的封装,实际上底层调用的还是…

python 图片文字提取

转载:python怎么读取png(python 图像处理)-天道酬勤-花开半夏 图像处理不是一件简单的工作。 对你来说,一看到某样东西,马上就知道你在看什么很容易。 但是,电脑不是这样工作的。 对你来说太难的任务,比如复杂的算术&a…

用Python提取图片截图中的文字

《用Python“破解”某度文库等文库复制的限制》 tips:当个标题党真刺激啊 开发背景 临近期末,CYooQ要写许多作业。迫不得已寻找度娘解决问题,找到之后,CYooQ习惯性地ctrlc,当ctrlv时发现,emmm!?没有啊!仔…

Python利用OCR提取图片中的文字

作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 Python利用OCR提取图片中的文字 很多软件内置了OCR功能,即图片提取文字功能。有些是免费提供给大家使用,但有些…

如何使用Python从图片中提取文字?

目录 Python图片识别文字一、Tesseract下载及安装二、配置环境变量三、代码部分 Python图片识别文字 一、Tesseract下载及安装 下载链接 Index of /tesseract. 点击下载适合电脑配置的最新版本 下载完成并开始安装 选择默认英文 点击下一步 点击我同意 点击为任何使用计算机…

Redis事务详解

目录 一、前言二、Redis事务 - 基本使用三、Redis事务 - 错误处理四、Redis事务 - 事务冲突1、事务所产生的问题2、悲观锁&乐观锁3、watch监听4、watch的应用场景 五、Redis 事务特性 一、前言 事务是指一个完整的动作,要么全部执行,要么什么也没有…

python--识别图片中的文字

本篇文章主要参考了 python图像处理之识别图像中的文字 这篇文章,在实现的过程中出现了些偏差,特此记录。因为此时笔者不是第一次安装,所展示的结果会和首次安装的结果有所差别。 1.安装PIL 以管理员的身份打开命令提示符,输入&…

【Python例】利用 python 进行图片文字信息的提取 --- OCR-EasyOCR

【Python例】利用 python 进行图片文字信息的提取 — OCR-EasyOCR 本文主要用于记录,并使用 python 脚本进行图片文字信息的生成。 什么是 OCR? OCR OCR(Optical character recognition,光学字符识别)是一种将图像中的…

Python提取图片中的文字信息

Python提取图片中的文字信息 使用的Python库 Python tesseract是Python的一个光学字符识别(OCR)工具。也就是说,它将识别并“读取”嵌入图像中的文本。 Python tesseract是Google tesseract OCR引擎的包装器。它还可用作tesseract的独立调…

Python识别图片中的文字

Python识别图片中的文字 一、前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制。或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存。但是…

python提取图片中的文字

python提取图片中的文字 准备工作原图片完整代码结果预览 OCR,全称Optical character recognition,中文译名叫做光学文字识别。它把图像中的字符,转换为机器编码的文本的一种方法。OCR技术在印刷行业应用得非常多,也广泛用于识别图…

python代码提取图片文字

步骤一:安装两个库 需要安装pytesseract和PIL两个库,然后还要安装tesseract-ocr识别引擎 问题一:安装两个库失败 这个博主讲的很详细参考链接lpython3安装pil报错 使用pip命令安装这两个库(pip命令无法使用的参考我的这篇文章将…

【Python • 图片识别】pytesseract快速识别提取图片中的文字

提示:本文多图,请手机端注意流量。 文章目录 前言一、配置环境1. 安装python依赖2. 安装识别引擎安装tesseract识别引擎(可跳过)验证是否安装成功 二、使用步骤1.引入库2.提取图片文字3.运行效果 总结完整代码 前言 利用python做…

MySQL进阶- Linux安装 和 索引

目录 Linux安装索引索引的概述索引的结构索引结构的介绍BtreeBtreeHash 索引的分类索引的语法(创建,查看,删除等)SQL性能分析SQL的执行频率(查看SQL的执行频率)慢查询日志show profilesexplain执行计划 索引…

Nginx同时支持Http和Https的配置

现在的网站支持Https几乎是标配功能,Nginx能很好的支持Https功能。下面列举一个配置同时支持Http和Https的功能。 需要注意的是:既然选择使用Https,就是为了保证通信安全,那么就没必要再用Http进行通信了。在URL中还支持Http的方式…

Nginx配置同时支持http和https两种方式访问

http: https: Nginx的ssl模块安装 进入到目录的sbin目录下,输入 #注意这里是大写的V,小写的只显示版本号 ./nginx -V 如果出现 (configure arguments: --with-http_ssl_module), 则已安装(下面的步骤可以跳过,直接进…