OCR与Tesseract介绍

将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR)。可以实现OCR 的底层库并不多,目前很多库都是使用共同的几个底层OCR 库,或者是在上面进行定制。

Tesseract 是一个OCR 库,目前由Google 赞助(Google 也是一家以OCR 和机器学习技术闻名于世的公司)。Tesseract 是目前公认最优秀、最精确的开源OCR 系统。

除了极高的精确度,Tesseract 也具有很高的灵活性。它可以通过训练识别出任何字体(只要这些字体的风格保持不变就可以),也可以识别出任何Unicode 字符。

Tesseract的安装与使用

Tesseract的Windows安装包下载地址为: http://digi.bib.uni-mannheim.... ,下载后双击直接安装即可。安装完后,需要将Tesseract添加到系统变量中。在CMD中输入tesseract -v, 如显示以下界面,则表示Tesseract安装完成且添加到系统变量中。

Linux 用户可以通过apt-get 安装:

$sudo apt-get tesseract-ocr

用Tesseract可以识别格式规范的文字,主要具有以下特点:

• 使用一个标准字体(不包含手写体、草书,或者十分“花哨的”字体)

• 虽然被复印或拍照,字体还是很清晰,没有多余的痕迹或污点

• 排列整齐,没有歪歪斜斜的字

• 没有超出图片范围,也没有残缺不全,或紧紧贴在图片的边缘

下面将给出几个tesseract识别图片中文字的例子。

首先是E://figures/other/poems.jpg, 输入命令 tesseract E://figures/other/poems.jpg E://figures/other/poems.txt, 则会将poems.jpg中的识别文字写入到poems.txt中,如下图:

接着是稍微有点倾斜的文字图片th.jpg,识别情况如下:

可以看到识别的情况不如刚才规范字体的好,但是也能识别图片中的大部分字母。

  最后是识别简体中文,需要事先安装简体中文语言包,下载地址为:https://github.com/tesseract-... ,再讲chi_sim.traineddata放在C:Program Files (x86)Tesseract-OCRtessdata目录下。我们以图片timg.jpg为例:

输入命令:

tesseract E://figures/other/timg.jpg E://figures/other/timg.txt -l chi_sim

识别结果如下:

只识别错了一个字,识别率还是不错的。

最后加一句,Tesseract对于彩色图片的识别效果没有黑白图片的效果好。

pytesseract

pytesseract是Tesseract关于Python的接口,可以使用pip install pytesseract安装。安装完后,就可以使用Python调用Tesseract了,不过,你还需要一个Python的图片处理模块,可以安装pillow.

输入以下代码,可以实现同上述Tesseract命令一样的效果:

import pytesseract

from PIL import Image

pytesseract.pytesseract.tesseract_cmd = 'C://Program Files (x86)/Tesseract-OCR/tesseract.exe'

text = pytesseract.image_to_string(Image.open('E://figures/other/poems.jpg'))

print(text)

运行结果如下:

参考文献

注意:本人现已开通微信公众号:Python爬虫与算法(微信号为:easy_web_scrape), 欢迎大家关注哦~~

python文字识别算法_Python图像处理之图片文字识别(OCR)相关推荐

  1. python图像识别系统_Python图像处理之图片文字识别功能(OCR)

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

  2. python文字识别时、当文字不清晰时怎么处理_Python图像处理之图片文字识别功能(OCR)...

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

  3. python识别图片中数字_Python图像处理之图片验证码识别

    在上一篇博客Python图像处理之图片文字识别(OCR)中我们介绍了在Python中如何利用Tesseract软件来识别图片中的英文与中文,本文将具体介绍如何在Python中利用Tesseract软件 ...

  4. python视频图片识别算法_python利用Opencv进行人脸识别(视频流+图片)

    首先:需要在在自己本地安装opencv具体步骤可以问度娘 如果从事于开发中的话建议用第三方的人脸识别(推荐阿里) 1.视频流中进行人脸识别 # -*- coding: utf-8 -*- import ...

  5. python批量识别图片中文字_python实现中文图片文字识别--OCR about chinese text--tesseract...

    0.我的环境: win7 32bits python 3.5 pycharm 5.0 1.相关库 安装pillow: pip install pillow 安装tesseract: 自带了英文语言包, ...

  6. python验证码识别模块_Python图像处理之验证码识别

    在上一篇博客Python图像处理之图片文字识别(OCR)中我们介绍了在Python中如何利用Tesseract软件来识别图片中的英文与中文,本文将具体介绍如何在Python中利用Tesseract软件 ...

  7. python人脸识别算法_python人脸算法

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 若图片中包含多张人脸,只选取其中人脸面积最大的人脸. 支持png.jpg.jpe ...

  8. python验证码识别算法_Python网站验证码识别

    0x00 识别涉及技术 验证码识别涉及很多方面的内容.入手难度大,但是入手后,可拓展性又非常广泛,可玩性极强,成就感也很足. 验证码图像处理 验证码图像识别技术主要是操作图片内的像素点,通过对图片的像 ...

  9. Python人工智能之图片识别,一行代码实现图片文字识别

    我们以识别诗词为例 下面是我们要识别的图片 先看下效果图 我们运行代码后识别的结果,有几个字没有正确识别,但是大多数字都能识别出来. 一行代码就能识别图片,我们背后要做些准备工作的 •这里我们需要用到 ...

最新文章

  1. hiho_1139_二分+bfs搜索
  2. 2017计算机考研教材,【考研】2017计算机考研:四大科目参考书推荐
  3. .NET 6新特性试用 | 隐式using指令
  4. Ubuntu root账号的使用
  5. 棋盘问题 POJ - 1321
  6. MapReduce之OutputFormat理解
  7. poi的excel解析工具类
  8. JavaScript可变参数个数
  9. 应用WSH、JavaScript和 bat 实现自动化构建工具改善工作中的代码部署流程!
  10. 微软面试题 经典测试 (博弈论 经典案例)
  11. git 下载指定历史版本
  12. 主成分回归之后预测_回归分析之主成分回归
  13. 2020高考倒计时html,2020高考倒计时的励志说说
  14. 工程伦理和学术道德(2021秋)
  15. 怎样与项目中的“怪人”沟通
  16. Wannafly 22A
  17. 大规模语言模型微调技术——Instruction和Question的区别和联系
  18. ASP.NET Web API入门介绍(一)
  19. Android消息推送 解决方案
  20. 为什么Linux系统安全没有病毒?原因是“它”

热门文章

  1. 硬刚一周,3W字总结,一年的经验告诉你如何准备校招,拿大厂offer
  2. SQL 性能优化梳理,干掉慢SQL!
  3. struts2教程(5)--请求参数校验
  4. 小程序从浏览器返回有一个空白页_北京做一个小程序
  5. (Spring)静态/动态代理模式(AOP底层)
  6. Oracle Dababase_buffer_cache数据库高速缓存组织结构剖析
  7. [转]chroot的使用
  8. RHEL 5.4 安装Oracle 11gR2, 安装篇2
  9. virtualbox调试linux内核,virtualbox+kgdbt调试linux内核
  10. php分布式cache,thinkPHP实现MemCache分布式缓存功能