Tesseract

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

(1)Tesseract的安装及配置

在 https://digi.bib.uni-mannheim.de/tesseract/下载Tesseract

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

安装时我们需要知道我们安装的位置,将安装目录配置到系统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 pytesseractpip install pillow

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

文字识别

(1)单张图片识别

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

接下来就是我们文字识别的代码:import pytesseractfrom 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 pytesseractfrom PIL import Image# 读取图片im = Image.open('sentence.png')# 识别文字,并指定语言string = pytesseract.image_to_string(im,)print(string)

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

识别结果如下:不 要 温 顺 的 走 进 那 个 良 夜

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

(2)批量图片识别

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

我们将代码修改为如下:import pytesseract# 识别文字string = pytesseract.image_to_string('text.txt',)print(string)

但是这样自己写一个txt文件难免有些麻烦,因此我们又可以进行如下修改:import osimport 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',)print(string)

这样我们只需要传入一个文字图片的根目录就可以批量进行识别了。在测试过程中发现,Tesseract对手写体、行楷等飘逸的字体识别不准确,对一些复杂的字识别也有待提升。

但是宋体、印刷体等笔画严谨的字体识别准确率很高。另外如果图片的倾斜大于一定的角度,识别结果也会有很大差别。

更多相关知识请关注python视频教程栏目

以上就是python识别图片中文字的方法的详细内容,更多请关注龙方网络其它相关文章!

python 识别图片中的中文_python识别图片中文字的方法相关推荐

  1. python utf-8编码转换中文_python实现unicode转中文及转换默认编码的方法

    本文实例讲述了python实现unicode转中文及转换默认编码的方法.分享给大家供大家参考,具体如下: 一.在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77e ...

  2. python unicode编码转换中文_python实现unicode转中文及转换默认编码的方法

    本文实例讲述了python实现unicode转中文及转换默认编码的方法.分享给大家供大家参考,具体如下: 一.在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77e ...

  3. python 识别图片中的中文_Python中利用Tesseract软件来识别图片中的英文与中文

    OCR与Tesseract介绍 将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR).可以实现OCR 的底层库并不多,目前很多库都是使用共同的几 ...

  4. python图片表格提取算法_python识别并提取表格中的文字--Apple的学习笔记

    此文为的后记.读者可以参考https://www.jianshu.com/p/b85667a4ef76 用到的python文字提取库pytesseract.用pip install pytessera ...

  5. python unicode编码转换中文_Python入门高级教程--Python 中文编码

    Python 中文编码 前面章节中我们已经学会了如何用 Python 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符 "你好,世界" ...

  6. python列表元素为中文_python入门基础教程之Python list列表修改元素

    python提供了两种修改列表(list)元素的方法,你可以每次修改单个元素,也可以每次修改一组元素(多个). 修改单个元素 修改单个元素非常简单,直接对元素赋值即可.请看下面的例子: nums = ...

  7. python判断是否为完全数_Python识别完美数

    完美数 完美数(perfect number,又称完全数)指,它所有的真因子(即除了自身以外的因子)和,恰好等于它自身. 第一个完美数:6, 第二个完美数:28, 第三个完美数:496, 第四个完美数 ...

  8. python识图找图_python识别图片

    import requests from aip import AipOcr image = requests.get('https://static.pandateacher.com/7b5d6d8 ...

  9. python unicode编码转换中文_python unicode转中文及转换默认编码

    一. 在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77ed\uff0cpy\u662f\u5cb8"转换为中文,实际上这是unicode的中文编码.可 ...

最新文章

  1. 独家 | Python时间序列分析:一项基于案例的全面指南
  2. 搜狗发布全球首个手语AI合成主播,用技术造福听障人群
  3. BlockingQueue详解
  4. rfid技术及应用答案王佳斌_RFID技术智能仓储管理系统应用优势
  5. 就9.5面试做个小结
  6. 使用SQL语句获得服务器名称和IP 地址
  7. 如何在南方CASS中内插高程点
  8. android长度测量工具,手机测量长度软件
  9. 虚拟机安装黑苹果【虚拟机安装,黑苹果安装,黑苹果无法全屏问题】(这应该全网最全的资源了吧~)
  10. Android开发 SpannableString开发详解
  11. 攻防世界web初级练习区(详解十二个题)
  12. jQuery Ajax 的使用 方法列表 详解教程
  13. 什么是Scheme?原来还可以这样应用!
  14. 2022年计算机二级考试WPS Office高级应用与设计考前冲刺题及答案
  15. thinkphp5配置完成后,遇到禁止访问!
  16. 全融合网络虚拟化技术
  17. windows网上邻居功能,局域网内文件共享步骤,问题总结,看不到共享文件夹
  18. 用c++图形库编写的双人打气球
  19. [C语言][数据存储+指针进阶]关关难过关关过 迈向光明之路 而我义无反顾 冲
  20. UE4 项目工程规范

热门文章

  1. xmpp_XMPP的完整形式是什么?
  2. windows下笔记本共享wifi工具
  3. 传诺基亚携手中国移动推TD-SCDMA版Lumia920 -铁石社区-TA云测试平台
  4. 两个ESP8266配置透传(不要其他设备开热点)
  5. python时间比较-在python中做时间比较
  6. lucene 3.02源代码统计
  7. 牛客小白月赛23 C.完全图
  8. 教你如何将10W真实的微信公众号粉丝快速变现!
  9. python150个常用单词_UC头条:python常用150个英文单词
  10. 七月算法机器学习笔记3 线性代数与矩阵