训练新的语言库

2019-10-07 08:47 来源:未知

前言

近些年要识别充钱卡上的序号与密码,故出一篇磨练Tesserct的课程。

安装Tesseract-OCR

正文前半局地是缘于

下载安装Tesseract

访问github的 tesseract-ocr 下载windows下的安装包(因小编是在windows系统下作战练习练)

An unofficial installer for windows for Tesseract 3.05-dev and Tesseract 4.00-dev is available from Tesseract at UB Mannheim. This includes the training tools.An installer for the old version 3.02 is available for Windows from our download page. This includes the English training data. If you want to use another language, download the appropriate training data, unpack it using 7-zip, and copy the .traineddata file into the 'tessdata' directory, probablyC:Program FilesTesseract-OCRtessdata

点击上边的download,我们来到了下载页面:

  1. leptonica 须要源码编译安装
    leptonica 包: leptonica-1.73.tar.gz
     解压后切换成leptonica-1.68 根目录  
    ./configure
    make
    make install
    2.tesseract安装:
     注重安装收尾后起初安装tesseract
     下载tesseract-3.01 安装包:
     解压后切换来tesseract-3.01 根目录
     (如若在make时碰到类似strngs.h:1: error: stray '357' in program 的一无所能,请将tesseract-3.01/ccutil/strngs.h 文件转为ANSI 编码保存,再重复编写翻译) 
    ./autogen.sh
    ./configure
    make
    make install
    ldconfig
    tesseract土耳其共和国(The Republic of Turkey)语语言包安装:  
    下载tesseract-3.01 德文语言包:
    sudo cp tesseract-ocr/tessdata/* /usr/local/share/tessdata/
    测量检验一下:
     切换成解压后的tesseract-3.01 根目录(这几个目录下有三个自带的phototest.tif 能够做测验用)
    tesseract phototest.tif phototest -l eng

后半部分数大约是官方wiki的翻译版本

Binaries for Windows

  • 4.0.0: https://github.com/tesseract-ocr/tesseract/wiki/4.0-with-LSTM#400-alpha-for-windows
  • 3.5.1: https://github.com/parrot-office/tesseract/releases/tag/3.5.1 (3rd party - @parrot-office)
    慎选符合版本下载就能够。

有关设置和境况变量的安顿,不在此多说,大家找找就理解怎么安顿了。

 tesseract 1.jpg result -l chi_sim -psm 7 nobatch
 输出:1
  那时应该在脚下目录生成贰个phototest.txt 文本文件,内容正是phototest.tif 展现的文字.

要是只设置,不练习,能够看作者的另一篇比较精简的稿子

下载jTessBoxEditor

点小编进去官方网站 点击左边包车型客车downlaod就可以到下载页面

 

关于陶冶的现实性细节能够查看官方wiki : 

将供给识别的图纸转变为tif

有相当多调换工具,选择你欣赏的工具举行调换就可以

 

抑或wiki的翻译版本 和 

合并tif文件

运作jTessBoxEditor,双击train.bat就可以运营:

run

按下Ctrl+M,弹出合併采取文件

QQ截图20180111201844.jpg

xlk

选料张开后会让您选取保存的地方:

save

咱俩保留为:num.font.exp10

Tesseract-OCR的QA合集

设置、演练的光景流程

生成box

tesseract num.font.exp10.tif num.font.exp10 -psm 10 digits batch.nochop makebox

make-box

注意:因为本身的tif都是单字且为数字,故加了-psm 10 digits ,有关此选项的别的布署请搜索通晓。

A.ImageMagick是什么?

OC酷威的完备是Optical Character Recognition,是指识别Computer图片中的文字内容的长河。

考订识别错误的box

再一次运营jTessBoxEditor,

fix-box

开掘6被辨认成.了

6-bug

fix-1

点击均红的小圈,然后修改灰白箭头的坐标新闻以及科学的字符值:6

fix

修改后,记得点击保存。

ImageMagick是一个用于查看、编辑位图像和文字件以及实行图像格式调换的怒放源代码软件套装

GoogleProject下有七个C++开源项目名称为tesseract-ocr,那是八个命令行工具,运维时内定需要实行辨别的图形,识别出来的文字存储在钦点的文书文件中。它能辨识包含中文在内的大部语言,即使发轫安装时只好科学识别相比正式的书体,但能够通过陶冶进步其识别准确度。所谓训练,实际上即便通过一三种tesseract-ocr提供的工具,根据须要识别的言语及其字体的风味,生成二个以traineddata为增添名的文件,文件名可随机,不过貌似以语言缩写命名,比方练习土耳其语生成的文本便是eng.traineddata,演习简体中文生成的公文就取名字为chi_sim.traineddata。使用tesseract对某一图片举行理文件字识别时,要求钦定识别成哪一类语言,然后tesseract就能够读取对应该语言的traineddata实行分辨。在自家设置的ubuntu系统下,安装tesseract-ocr后,其利用的traineddata贮存在/usr/local/share/tessdata/目录下。因而假设将您的教练结果复制/替换成这些目录下,tesseract就能依靠你的教练结果来分辨对应的言语了。由于设置和磨炼是独立的,你的教练结果能够在四个安装遇到下选择;并且,假设有人分享了识别率较高的磨炼结果,你也无需和煦开展繁琐(是的,安装tesseract-ocr很简短,磨练很麻烦)的教练了。

确立字体属性文件

font 0 0 0 0 0

保存为:font_properties

自己在此处之所以提到ImageMagick是因为有些图片格式需求用那一个工具来更改。

正文记录如何在ubuntu下安装,使用,磨练tesseract-ocr。

生成tr信息

tesseract num.font.exp10.tif num.font.exp10 -psm 10 digits nobatch box.train

tesseract-tr

B.Leptonica 是什么?

词汇表明:

生成字体特征音信

unicharset_extractor num.font.exp10.box

shapeclustering -F font_properties -U unicharset num.font.exp10.tr
mftraining -F font_properties -U unicharset -O unicharset num.font.exp10.tr
cntraining num.font.exp10.tr

将获得的:unicharset、inttemp、pffmtable、shapetable、normproto重命名叫num.初阶
如:

QQ截图20180111203412.jpg

谈到底实践

combine_tessdata num.

获取陶冶消息num.traineddata

QQ截图20180111203510.jpg

Leptonica 是一图像管理与图像分析工具,tesseract注重于它。而且不是有所的格式(如jpg)都能管理,所以大家要求借助imagemagick做格式调换。

  • tesseract-ocr是项目名称,tesseract是设置tesseract-ocr后用于文字识别的命令行工具名称,本文不对两端实行严格的界别。

Here's a summary of compression support and limitations:
    - All formats except JPEG support 1 bpp binary.
    - All formats support 8 bpp grayscale (GIF must have a colormap).
    - All formats except GIF support 24 bpp rgb color.
    - All formats except PNM support 8 bpp colormap.
    - PNG and PNM support 2 and 4 bpp images.
    - PNG supports 2 and 4 bpp colormap, and 16 bpp without colormap.
    - PNG, JPEG, TIFF and GIF support image compression; PNM and BMP do not.
    - WEBP supports 24 bpp rgb color.

安装

C.升高图片品质?

用aptitude安装

辨认成功率跟图片品质关系紧密,日常得到后的验证码都得经过灰度化,二值化,去噪,利用imgick就可以很有益的做到.

假定您不准备本人磨炼tesseract(练习工具得经过源代码编写翻译安装),只怕想先感受一下tesseract的成效,那么最高效简单的措施正是选拔aptitude了。关于aptitude的用法请参照他事他说加以考察官方User Manual。

convert -monochrome foo.png bar.png #将图片二值化

图片 1

D.笔者只想识别字符和数字?

从源代码安装安装

最终仅要求加digits

在设置tesseract-ocr以前,仿佛官方wiki文书档案提出的那样,须求先安装一些Dependencies,包涵:autotools-dev, libleptonica-dev, autoconf, automake, libtool, libpng12-dev, libtiff4-dev, zlib1g-dev, libicu-dev。这一个足以用apt-get安装,也能够用aptitude,笔者利用的是aptitude。wiki中还论及了libjepg62-dev,但aptitude提醒其与libtiff4-dev有争执,由此笔者未有安装,但那并不影响本文提到的tesseract的应用及基础磨炼。

一声令下实例:tesseract imagename outputbase digits

接下去下载代码,可以选择从svn下载,也能够平昔下载代码压缩包。svn中包罗了相当多言语的traineddata,总共有600多M,而单独的代码包只有几M。由于svn代码较新,相对代码压缩包来说,多了一部分本文要用到的锻练工具,因而作者那边选拔从svn下载安装。

E.训练你的tesseract

代码checkout之后,在terminal下步向这些源代码文件夹,然后按顺序试行以下命令开端编写翻译安装。

只得说,tesseract罗马尼亚语识别率已经特不利了(现成的tesseract-data-eng),然而验证码识别依然太鸡肋了。然而请别忘记,tesseract的智能识别是急需磨炼的.

./autogen.sh

F.命令推行出现empty page!!错误

./configure

严俊来讲,那不是三个bug(tesseract 3.0),现身这几个荒唐是因为tesseract搞不清图像的字符布局

make

-psm N
    Set Tesseract to only run a subset of layout analysis and assume a certain form of image. The options for N are:

sudo make install

    0 = Orientation and script detection (OSD) only.
    1 = Automatic page segmentation with OSD.
    2 = Automatic page segmentation, but no OSD, or OCR.
    3 = Fully automatic page segmentation, but no OSD. (Default)
    4 = Assume a single column of text of variable sizes.
    5 = Assume a single uniform block of vertically aligned text.
    6 = Assume a single uniform block of text.
    7 = Treat the image as a single text line.
    8 = Treat the image as a single word.
    9 = Treat the image as a single word in a circle.
    10 = Treat the image as a single character.

sudo ldconfig

对此我们的验证码a.tif排列来说,接纳-psm 7(single text line)比较适宜。

到了这一步,你就足以看看 tesseract 已经被成功安装了

 

图片 2

 

安装语言文件(Language Data)

5.Tesseract-OCSportage的练习方法

在你用tesseract识别某一种语言从前,必供给力保您安装了对应的言语文件(Language Data,那是tesseract-ocr操练转换的文件,不是操作系统的语言包)。要查看是否安装了某种语言,只供给查阅 /usr/local/share/tessdata/ 目录下是不是有以该语言命名的traineddata就足以了,假若有eng.traineddata,那说名tesseract能够辨别英文了,同样,chi_sim.traineddata对应于简体中文。

A.使用jTessBoxEditor工具

如若某种语言未有设置,安装方式也相当的粗略,首先到法定下载列表中间找到并下载对应语言包。举例自身要辨识土耳其共和国(Türkiye Cumhuriyeti)语,而自己设置的tesseract-ocr是3.02本子的,就下载对应版本的斯拉维尼亚语语言包 tesseract-ocr-3.02.eng.tar.gz。下载后解压,然后将解压出来的tesseract-ocr/tessdata/目录下的装有文件剪切到 /usr/local/share/tessdata/ 目录下就能够。

 

假如你是通过build 从svn下载的代码 来安装的话,源代码目录下的tessdata子文件夹下就有tesseract能辨别的各个语言的言语文件,直接将这里的言语文件复制到 /usr/local/share/tessdata/ 目录下就行了。或然你也足以用安装命令来设置语言文件,在源代码根目录实施以下命令进行安装:

1.下载地址:

  • 设置部分语言文件 sudo make install LANGS="eng chi_sim"

  • 安装tesseract协助的具备语言文件  sudo make install-langs

其一工具是用来陶冶样本用的,由于该工具是用JAVA开拓的,须要设置JAVA虚构机1.6技巧运作。

何以卸载通过编译源代码安装的tesseract-ocr

2. 得到样本图像。用画图工具绘制了5张0-9的文样本图像(当然样本越来越多越好),如下图所示:

在接下去的选拔、陶冶进程中,假设您想要试一下分化安装情势,你就需求领悟怎么样卸载从源代码安装的tesseract-ocr。方法是在源代码根目录下实施以下代码以便卸载tesseract:

图片 3

sudo make uninstall

图片 4

卸载进度会删除包涵 /usr/local/include/tesseract 目录下的头文件,/usr/local/bin 下的可试行文件,/usr/local/lib 下的库文件,以及 /usr/local/share/tessdata 下的陶冶文件在内的 tesseract 相关文书。

  图片 5

在源代码的training子目录下举办同样的代码就可以卸载training tools。

  图片 6

使用

图片 7

言语文件安装完毕后,就能够起来识别了。比如笔者有上边那张图纸 tesseract-line.png

3.统同样本图像。运维jTessBoxEditor工具,在点击菜单栏中Tools--->Merge TIFF。在弹出的对话框中选取样本图像(按Shift接纳多张),合併成num.font.exp0.tif文件。

图片 8

4.生成Box File文件。展开命令行,实践命令:

要甄别这张图片里面包车型大巴乌克兰(Ukraine)语,只需实践以下命令:

[plain] view plain copy

$ tesseract tesseract-line.png tesseract-line -l eng

 

那条命令里面,第二个参数钦命要求开展文字识别的图样地址,第贰个参数钦命存放识别出文字的不饱含扩张名的公文名,最终三个参数-l eng钦点用什么样语言库进行鉴定区别。例如这里钦定了eng,tesseract就能够基于eng.traineddata进行辨认。实际上traineddata文件名可以随意取,只要使用tesseract举办文字识别的时候也用平等的名字就行了。

 图片 9图片 10

此间识其他结果存在叁个名字为tesseract-line.txt的文书中,能够看见tesseract识别这种字体清晰的图样还是很规范的:

  1. tesseract.exe num.font.exp0.tif num.font.exp0 batch.nochop makebox  

图片 11

 

 

 

陶冶,那才是硬骨头

  生成的BOX文件为num.font.exp0.box,BOX文件为Tessercat识别出的文字和其坐标。

前边试着用tesseract识别了一张字体清晰的图形,接下去试一下一个相比较轻易的验证码图片。

 

图片 12

注:Make Box File的命令格式为:

那多少个字母经tesseract识别就成了MWLS,可知直接接纳官方提供的言语文件时 tesseract 的辨别精度是不足以实际运用的。所幸的是,tesseract-ocr提供了一密密麻麻工具用于转移自定义的言语文件,这一进度就叫做磨练。

 

设置练习工具

TAG标签:
版权声明:本文由金沙澳门官网4166发布于世界史,转载请注明出处:训练新的语言库