2015-10-10 23:26:32 +08:00
|
|
|
[![Build Status](https://travis-ci.org/tesseract-ocr/tesseract.svg?branch=master)](https://travis-ci.org/tesseract-ocr/tesseract)
|
|
|
|
[![Build status](https://ci.appveyor.com/api/projects/status/miah0ikfsf0j3819?svg=true)](https://ci.appveyor.com/project/zdenop/tesseract/)
|
2015-09-07 01:55:05 +08:00
|
|
|
|
2015-08-20 19:58:36 +08:00
|
|
|
Note that this is possibly out-of-date version of the wiki ReadMe,
|
|
|
|
which is located at:
|
2015-05-17 01:19:54 +08:00
|
|
|
|
2015-08-20 19:58:36 +08:00
|
|
|
https://github.com/tesseract-ocr/tesseract/blob/master/README.md
|
2009-07-01 06:18:24 +08:00
|
|
|
|
2007-03-08 04:03:40 +08:00
|
|
|
Introduction
|
|
|
|
============
|
2011-08-09 04:33:18 +08:00
|
|
|
|
2007-03-08 04:03:40 +08:00
|
|
|
This package contains the Tesseract Open Source OCR Engine.
|
2015-05-22 10:23:42 +08:00
|
|
|
Originally developed at Hewlett-Packard Laboratories Bristol and
|
|
|
|
at Hewlett-Packard Co, Greeley Colorado, all the code
|
2007-03-08 04:03:40 +08:00
|
|
|
in this distribution is now licensed under the Apache License:
|
|
|
|
|
2015-05-22 10:23:42 +08:00
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
2007-03-08 04:03:40 +08:00
|
|
|
|
|
|
|
|
2012-02-06 00:25:40 +08:00
|
|
|
Dependencies and Licenses
|
|
|
|
=========================
|
2011-08-09 04:33:18 +08:00
|
|
|
|
2015-05-22 10:23:42 +08:00
|
|
|
[Leptonica](http://www.leptonica.com) is required. Tesseract no longer
|
|
|
|
compiles without Leptonica.
|
|
|
|
|
2012-09-21 23:31:20 +08:00
|
|
|
Libtiff is no longer required as a direct dependency.
|
2011-08-09 04:33:18 +08:00
|
|
|
|
2007-03-08 04:03:40 +08:00
|
|
|
|
2009-07-01 06:18:24 +08:00
|
|
|
Installing and Running Tesseract
|
2012-02-06 00:25:40 +08:00
|
|
|
--------------------------------
|
|
|
|
|
2009-07-01 06:18:24 +08:00
|
|
|
All Users Do NOT Ignore!
|
2015-05-22 10:23:42 +08:00
|
|
|
|
2009-07-01 06:18:24 +08:00
|
|
|
The tarballs are split into pieces.
|
|
|
|
|
2011-08-09 04:33:18 +08:00
|
|
|
tesseract-x.xx.tar.gz contains all the source code.
|
2009-07-01 06:18:24 +08:00
|
|
|
|
2015-05-22 10:23:42 +08:00
|
|
|
tesseract-x.xx.`<lang>`.tar.gz contains the language data files for `<lang>`.
|
2011-08-09 04:33:18 +08:00
|
|
|
You need at least one of these or Tesseract will not work.
|
2009-07-01 06:18:24 +08:00
|
|
|
|
2011-08-09 04:33:18 +08:00
|
|
|
Note that tesseract-x.xx.tar.gz unpacks to the tesseract-ocr directory.
|
2015-05-22 10:23:42 +08:00
|
|
|
tesseract-x.xx.`<lang>`.tar.gz unpacks to the tessdata directory which
|
2011-08-09 04:33:18 +08:00
|
|
|
belongs inside your tesseract-ocr directory. It is therefore best to
|
|
|
|
download them into your tesseract-x.xx directory, so you can use unpack
|
|
|
|
here or equivalent. You can unpack as many of the language packs as you
|
|
|
|
care to, as they all contain different files. Note that if you are using
|
|
|
|
make install you should unpack your language data to your source tree
|
|
|
|
before you run make install. If you unpack them as root to the
|
|
|
|
destination directory of make install, then the user ids and access
|
|
|
|
permissions might be messed up.
|
2009-07-01 06:18:24 +08:00
|
|
|
|
2015-05-22 10:23:42 +08:00
|
|
|
boxtiff-2.xx.`<lang>`.tar.gz contains data that was used in training for
|
2011-08-09 04:33:18 +08:00
|
|
|
those that want to do their own training. Most users should NOT download
|
|
|
|
these files.
|
2009-07-01 06:18:24 +08:00
|
|
|
|
2011-08-09 04:33:18 +08:00
|
|
|
Instructions for using the training tools are documented separately at
|
2015-06-02 15:56:55 +08:00
|
|
|
[Tesseract Training wiki](https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract)
|
2009-07-01 06:18:24 +08:00
|
|
|
|
|
|
|
|
2012-02-06 00:25:40 +08:00
|
|
|
Windows
|
|
|
|
-------
|
2009-07-01 06:18:24 +08:00
|
|
|
|
2015-05-22 10:23:42 +08:00
|
|
|
Please use the installer (for 3.00 and above). Tesseract is a library with a
|
2015-06-02 15:56:55 +08:00
|
|
|
command line interface. If you need a GUI, please check the [3rdParty wiki page](https://github.com/tesseract-ocr/tesseract/wiki/3rdParty#gui).
|
2009-07-01 06:18:24 +08:00
|
|
|
|
2011-08-09 04:33:18 +08:00
|
|
|
If you are building from the sources, the recommended build platform is
|
2015-08-20 20:09:29 +08:00
|
|
|
VC++ Express 2010.
|
2009-07-01 06:18:24 +08:00
|
|
|
|
2011-08-09 04:33:18 +08:00
|
|
|
The executables are built with static linking, so they stand more chance
|
2015-05-22 10:23:42 +08:00
|
|
|
of working out of the box on more Windows systems.
|
2009-07-01 06:18:24 +08:00
|
|
|
|
2011-08-09 04:33:18 +08:00
|
|
|
The executable must reside in the same directory as the tessdata
|
|
|
|
directory or you need to set up environment variable TESSDATA_PREFIX.
|
|
|
|
Installer will set it up for you.
|
2009-07-01 06:18:24 +08:00
|
|
|
|
|
|
|
The command line is:
|
|
|
|
|
2015-05-22 10:23:42 +08:00
|
|
|
tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfiles...]
|
2009-07-01 06:18:24 +08:00
|
|
|
|
2011-08-09 04:33:18 +08:00
|
|
|
If you need interface to other applications, please check wrapper section
|
2015-06-02 15:56:55 +08:00
|
|
|
on [AddOns wiki page](https://github.com/tesseract-ocr/tesseract/wiki/AddOns#for-tesseract-ocr-30x).
|
2009-07-01 06:18:24 +08:00
|
|
|
|
|
|
|
|
2012-02-06 00:25:40 +08:00
|
|
|
Non-Windows (or Cygwin)
|
|
|
|
-----------------------
|
2009-07-01 06:18:24 +08:00
|
|
|
|
2011-08-09 04:33:18 +08:00
|
|
|
You have to tell Tesseract through a standard unix mechanism where to
|
|
|
|
find its data directory. You must either:
|
2009-07-01 06:18:24 +08:00
|
|
|
|
2015-05-22 10:23:42 +08:00
|
|
|
./autogen.sh
|
|
|
|
./configure
|
|
|
|
make
|
2015-09-29 00:24:05 +08:00
|
|
|
sudo make install
|
2015-05-22 10:23:42 +08:00
|
|
|
sudo ldconfig
|
2009-07-01 06:18:24 +08:00
|
|
|
|
|
|
|
to move the data files to the standard place, or:
|
|
|
|
|
2015-05-22 10:23:42 +08:00
|
|
|
export TESSDATA_PREFIX="directory in which your tessdata resides/"
|
2009-07-01 06:18:24 +08:00
|
|
|
|
|
|
|
In either case the command line is:
|
|
|
|
|
2015-05-22 10:23:42 +08:00
|
|
|
tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfiles...]
|
2009-07-01 06:18:24 +08:00
|
|
|
|
2011-08-09 04:33:18 +08:00
|
|
|
New there is a tesseract.spec for making rpms. (Thanks to Andrew Ziem for
|
|
|
|
the help.) It might work with your OS if you know how to do that.
|
|
|
|
|
|
|
|
If you are linking to the libraries, as Ocropus does, please link to
|
|
|
|
libtesseract_api.
|
2009-07-01 06:18:24 +08:00
|
|
|
|
|
|
|
|
2015-05-17 01:10:10 +08:00
|
|
|
If you get `leptonica not found` and you've installed it with e.g. homebrew, you
|
|
|
|
can run `CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ./configure`
|
|
|
|
instead of `./configure` above.
|
|
|
|
|
2007-03-08 04:03:40 +08:00
|
|
|
|
2012-02-06 00:25:40 +08:00
|
|
|
History
|
|
|
|
=======
|
2015-05-22 10:23:42 +08:00
|
|
|
The engine was developed at Hewlett-Packard Laboratories Bristol and
|
|
|
|
at Hewlett-Packard Co, Greeley Colorado between 1985 and 1994, with some
|
2007-03-08 04:03:40 +08:00
|
|
|
more changes made in 1996 to port to Windows, and some C++izing in 1998.
|
|
|
|
A lot of the code was written in C, and then some more was written in C++.
|
|
|
|
Since then all the code has been converted to at least compile with a C++
|
2015-08-20 20:09:29 +08:00
|
|
|
compiler. Currently it builds under Linux with gcc 4.4.3 and under Windows
|
|
|
|
with VC++2010. The C++ code makes heavy use of a list system using macros.
|
2011-08-09 04:33:18 +08:00
|
|
|
This predates stl, was portable before stl, and is more efficient than stl
|
2007-03-08 04:03:40 +08:00
|
|
|
lists, but has the big negative that if you do get a segmentation violation,
|
2010-11-30 09:30:09 +08:00
|
|
|
it is hard to debug.
|
2007-03-08 04:03:40 +08:00
|
|
|
|
2011-08-19 00:51:11 +08:00
|
|
|
The most recent change is that Tesseract can now recognize 39 languages,
|
2015-05-22 10:23:42 +08:00
|
|
|
including Arabic, Hindi, Vietnamese, plus 3 Fraktur variants,
|
2011-08-09 04:33:18 +08:00
|
|
|
is fully UTF8 capable, and is fully trainable. See TrainingTesseract for
|
|
|
|
more information on training.
|
2007-03-08 04:03:40 +08:00
|
|
|
|
2011-08-09 04:33:18 +08:00
|
|
|
Tesseract was included in UNLV's Fourth Annual Test of OCR Accuracy.
|
2015-06-14 23:29:55 +08:00
|
|
|
Results were available on https://github.com/tesseract-ocr/docs/blob/master/AT-1995.pdf.
|
2011-08-09 04:33:18 +08:00
|
|
|
With Tesseract 2.00, scripts were included to allow anyone to reproduce
|
|
|
|
some of these tests. See TestingTesseract for more details.
|
2007-03-08 04:03:40 +08:00
|
|
|
|
|
|
|
|
|
|
|
About the Engine
|
|
|
|
================
|
2011-08-09 04:33:18 +08:00
|
|
|
This code is a raw OCR engine. It has limited PAGE LAYOUT ANALYSIS, simple
|
|
|
|
OUTPUT FORMATTING (txt, hocr/html), and NO UI.
|
2007-03-08 04:03:40 +08:00
|
|
|
Having said that, in 1995, this engine was in the top 3 in terms of character
|
2007-07-18 09:04:56 +08:00
|
|
|
accuracy, and it compiles and runs on both Linux and Windows.
|
2011-08-19 00:51:11 +08:00
|
|
|
As of 3.01, Tesseract is fully unicode (UTF-8) enabled, and can recognize 39
|
2007-07-18 09:04:56 +08:00
|
|
|
languages "out of the box." Code and documentation is provided for the brave
|
2015-06-03 02:12:42 +08:00
|
|
|
to train in other languages.
|
|
|
|
See [Tesseract Training wiki](https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract)
|
|
|
|
for more information on training. Additional [code and extracted documentation](http://tesseract-ocr.github.io/) was generated by Doxygen.
|