OCR1:开源库

摘要:
一开始,它是在Windows下运行的认知技术开发的软件。该项目是该软件在Linux系统下的移植版本。Linux智能ocr解决方案(Lios)是Linux的下一个开源ocr解决方案。它专注于字符识别,因为tesserocr在Windows环境中会有各种不兼容性。

OCROptical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。优秀的开源OCR软件包括:

  • Tesseract:原本由惠普开发的图像识别类库tesseract-ocr已经更新到2.04, 就是最近Google支持的那个OCR。原先是惠普写的,现在Open source了。
  • OCRopus:Ocropus的(TM)是一个先进的文件分析和OCR系统,采用可插入的布局分析,可插入的字符识别,自然语言统计建模和多语言支持功能。
  • Cuneiform:Cuneiform 是一个 OCR 文字识别系统的商标,最开始是由Cognitive 技术所开发的运行在 Windows 下的软件。而这个项目是该软件在 Linux 系统下的移植版本。
  • GOCR:GOCR 是一个开源的OCR光学识别程序。
  • OCRFeeder:OCRFeeder 是 GNOME 桌面下的一个开源 OCR 套件。可将纸质或者图形文档转成电子文档。
  • Lios:linux-intelligent-ocr-solution (Lios) 是Linux下一个开源的 OCR 解决方案,可将打印的文档转成可编辑的文本。

云服务商提供服务:

OpenCV VS tesseract

  • opencv:专注机器视觉
  • tesseract:专注字符识别

由于tesserocr在windows环境下会出现各种不兼容问题,并且与pycharm虚拟环境不兼容等问题,所以在windows系统环境下,选择pytesseract模块进行安装 

Tesseract


 Tesserocr 是Python的一个OCR库,但其实是对tesseract做的一层Python API的封装,所以他的核心是tesseract。因此,在安装tesserocr之前,我们需要先安装tesseract。 实际使用tesseract ocr也有两种方式:1- 动态库方式 libtesseract  2  - 执行程序方式 tesseract.exe

安装过程:

  • 在Windows下,首选需要下载tesseract,它为tesserocr提供支持,在“https://digi.bib.uni-mannheim.de/tesseract/” ,然后选择3.05.02版本进行下载。其中文件名中带有 dev 的为开发版本,不带 dev 的为稳定版本,可以选择下载不带 dev 的版本,例如可以选择下载tesseract-ocr-setup-3.05.02-20180621.exe
  • 如果不是做英文的图文识别,还需要下载其他语言的识别包  https://github.com/tesseract-ocr/tessdata 下载

安装Tesseract


  • 下载Tesseract-OCR引擎,注意要3.0以上才支持中文哦,按照提示安装就行。
  • 既然是要训练中文,记得勾选 additional language data,如下图:
  • OCR1:开源库第1张
  • 找到中文简体和中文繁体,按需勾选,然后点下一步。可以先不勾选,因为这样直接下载语言的包实在太慢。可以从网页上直接下载语言包,然后等程序安装好后,放入安装目录下tessdata目录下面,如下图:

  • OCR1:开源库第2张

配置:

  • 在环境变量的系统变量和个人用户的PATH,把tesseract-ocr的安装路径(如 C:Program Files (x86)Tesseract-OCR;)添加进去
  • OCR1:开源库第3张
  • 在windows系统你还需要将testdata目录也加入环境变量,TESSDATA_PREFIX=C:Program Files (x86)Tesseract-OCR essdata
  • OCR1:开源库第4张

验证安装:

  • 打开命令终端,输入:tesseract -v,可以看到版本信息
  • OCR1:开源库第5张

落地验证:

  • 直接下载:https://raw.githubusercontent.com/Python3WebSpider/Testtess/master/image.png 然后,将图片下载下来并保存为image.png,然后使用tesseract命令进行测试
  • 命令:tesseract image.png 1    (image.png 代表待识别的源文件,1代表输出文件名,默认输出格式是txt文件格式!)
  • OCR1:开源库第6张

 

python用tesseract-ocr做图像识别


  需要导入两个库,这是别人写好的封装好的库文件。

  • 需要用到两个库:pytesseract和PIL
  • 还需要安装识别引擎tesseract-ocr

Python-tesseract: 是Tesseract OCR引擎的Python封装类。能够读取任何常规的图片文件(JPG, GIF ,PNG , TIFF等)并解码成可读的语言。在OCR处理期间不会创建任何临文件

PIL (Python Imaging Library):是 Python 中最常用的图像处理库。

python对图像的处理比较常见的是用 pytesseract 识别验证码,要安装pytesseract库,必须先安装其依赖的 PIL 及 tesseract-ocr,其中PIL为图像处理库,而后面的tesseract-ocr则为google的ocr识别引擎。

  • 命令:pip install pillow   目前PIL的官方最新版本为1.1.7,支持的版本为python 2.5, 2.6, 2.7,并不支持python3,经查询python3.X用pillow代替,进入DOS命令行窗口,敲入以下代码
  • 命令:pip install pytesseract

示例代码:

import pytesseract
from PIL import Image as img

text = pytesseract.image_to_string(img.open('image.png'))
print(text)

示例结果:

  • OCR1:开源库第7张

带中文图片示例(示例图片是从百度图片上下载的):

  • OCR1:开源库第8张

 中文效果并不理想,下一节介绍训练过程

相关链接:


参考资料:


免责声明:文章转载自《OCR1:开源库》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Ubuntu 16.04出现:Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi'[转载]功率谱下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ORACLE的SPFILE与PFILE

    ORACLE中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件,可以分为两种类型。它们是在数据库实例启动时候加载的,决定了数据库的物理结构、内存、数据库的限制及系统大量的默认值、数据库的各种物理属性、指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重要文件。 初始化参数文件(Initialization Parameters...

通过 hexo 生成静态博客

通过 hexo 生成静态博客 背景 在对比了很多博客网站以后,我决定开始慢慢迁移我的文章,以后有时间的话还会搭建自己的网站,目前主流的静态博客生成器有三个: jekyll, hexo, hugo. 静态博客生成器是一种将 文档(主流是markdown 格式)生成静态网站页面文件的工具;当我们再将生成的结果放到page服务上,就可以变为静态博客。 接下来我们...

关于SVN提交强制加入注释

一、摘要 场景:     在这次开发项目过程中,团队中总是有人忘记添加注释。 问题:     1:其他成员不知道你提交是什么代码, 给回滚操作带来很多不必要的麻烦。     2:这个工作需要有一个人天天提醒大家在提交代码的时候加入注释。     3:这个是重复的,定时的,固定的 工作。 思路:     1:我们可以把这项工作交给电脑来完成岂不是更好。  ...

Redis发布与订阅

Redis 通过 PUBLISH 、 SUBSCRIBE 等命令实现了订阅与发布模式, 这个功能提供两种信息机制, 分别是订阅/发布到频道和订阅/发布到模式。  举个例子: 当右边窗口执行了后, 一、频道的订阅与信息发送 Redis 的 SUBSCRIBE 命令可以让客户端订阅任意数量的频道, 每当有新信息发送到被订阅的频道时, 信息就会被发送给所有...

使用CMake构建OpenCV项目

这篇文章我们来对我们的安装进行测试,并介绍如何用CMake工具快捷地构建OpenCV项目。 为了使整个项目更加条理,我们的文件夹采用如下组织方式: binbuildCMakeLists.txtsrc 其中bin目录用于放编译生成的可执行文件,build目录用于cmake构建项目,src用于放源代码。"CMakeLists.txt"这个名字,一个...

Sublime text 3 汉化教程

首先,需要安装Package Control 启动并进入sublime主界面,打开Sublime Text的控制台(快捷键 ctrl + ~) 然后我们到Package Control官方网站,复制sublime text 3的脚本文件 网址:https://packagecontrol.io/installation 脚本文件如下: import u...