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.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe ,下载后双击直接安装即可。安装完后,需要将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-ocr/tessdata/find/master/chi_sim.traineddata ,再讲chi_sim.traineddata放在C:\Program Files (x86)\Tesseract-OCR\tessdata目录下。我们以图片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图像处理之图片文字识别功能(OCR),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

时间: 2019-07-27

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图像处理之图片文字识别功能(OCR)...

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

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

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

  5. python图像转字符画_python图像处理-字符画风格图片

    前言 字符画图片,顾名思义就是由一个个字符组成的图片,下面这张图片很容易帮助你理解,如果我们可以将字符排列好,让他看上去像一个物体的形状,那么最后再将它输出保存为一张图片就可以实现了. 下面的这些形状 ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 张一鸣卸任CEO,立下10年之约,期望突破线性延伸
  2. 判断条件为空时需要注意
  3. AS3中的强制类型转换
  4. linux系统调用理解之摘录(3)
  5. html5时钟代码菜鸟课程,html5绘制时钟动画
  6. iptables如何添加容许某个端口的访问
  7. pytorch:一维线性回归(二)
  8. 实现根据条件删除_常见数据结构的实现(一):跳跃表
  9. 我的家庭私有云计划-6
  10. Windows下配置Squid反向代理服务器
  11. 如何读取H264文件获得每一帧的数据(VsParserPro)
  12. GB28181协议之设备录像查询
  13. 一文带你走进车联网安全
  14. CSS3 设置网页黑白
  15. WIFI6比WIFI5好在哪里呢?
  16. org.apache.thrift.transport.TTransportException: SASL authentication not complete
  17. 统计指标 --- 集中趋势
  18. easyui支持ie8浏览器
  19. https://api.douban.com 不在以下 request 合法域名列表中,请参考文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/net
  20. 研华工控台式计算机选型,工控机选型

热门文章

  1. 创客集结号:3D打印如何与中小学教育有机结合?
  2. python 绘图函数_python绘图函数
  3. C语言实现调用python绘图
  4. matlab积分器的工作原理,[转载]Simulink积分器详解(图)
  5. QT designer将按钮改成圆形
  6. office在线编辑 html,Office在线编辑功能实现.doc
  7. linux 源码 rtf编辑 写字板源码,写字板文档和RTF文档的区别是什么?
  8. 如何在kylo中添加数据源
  9. matlab环境下图像分形维数的计算,MATLAB环境下图像分形维数的计算
  10. 湘源控规计算土石方流程