Tesseract Open Source OCR Engine (main repository)
Go to file
theraysmith 8131b0fd3b Moved java files to correct hierarchy
git-svn-id: https://tesseract-ocr.googlecode.com/svn/trunk@244 d0cd1f9f-072b-0410-8dd7-cf729c803f20
2009-06-03 01:22:46 +00:00
ccmain Fixed output of tprintf for windows 2009-06-02 21:59:39 +00:00
ccstruct Fixed assert problems 2009-06-02 22:09:56 +00:00
ccutil Misc tidying up 2009-06-02 22:11:51 +00:00
classify Fixed excessive stack use 2009-06-02 23:34:20 +00:00
config Improved autoconf to find leptonica headers if present 2008-04-22 17:34:42 +00:00
cutil Misc tidying up 2009-06-02 22:11:51 +00:00
dict Fixed issue 63 2008-12-30 18:29:42 +00:00
dlltest Updated vcproj for VC++2008 2009-06-02 19:59:41 +00:00
doc top-skimming import from sf.net 2007-03-07 20:03:40 +00:00
image Fixed tiffio problems with 32 bit images, issue 160 and duplicates 2008-12-24 01:02:14 +00:00
java Moved java files to correct hierarchy 2009-06-03 01:22:46 +00:00
pageseg changed runautoconf instructions 2008-08-18 20:18:21 +00:00
tessdata Fixed issue 82 2008-12-30 21:25:45 +00:00
testing changed runautoconf instructions 2008-08-18 20:18:21 +00:00
textord Fixed excessive stack use 2009-06-02 23:34:20 +00:00
training Updated vcproj for VC++2008 2009-06-02 20:01:29 +00:00
viewer Removing lua 2009-06-02 23:34:41 +00:00
wordrec Fixed type of bit vector 2009-06-02 21:57:23 +00:00
.cvsignore top-skimming import from sf.net 2007-03-07 20:03:40 +00:00
acinclude.m4 Fixed name collision with jpeg library 2008-04-22 00:44:56 +00:00
AUTHORS top-skimming import from sf.net 2007-03-07 20:03:40 +00:00
ChangeLog Improved autoconf to find leptonica headers if present 2008-04-22 17:34:42 +00:00
configure Improved autoconf to find leptonica headers if present 2008-04-22 17:34:42 +00:00
configure.ac Improved autoconf to find leptonica headers if present 2008-04-22 17:34:42 +00:00
COPYING top-skimming import from sf.net 2007-03-07 20:03:40 +00:00
eurotext.tif Automake changes for version 2.00. 2007-07-18 01:04:56 +00:00
INSTALL top-skimming import from sf.net 2007-03-07 20:03:40 +00:00
INSTALL.SVN added note about aclocal warnings to INSTALL.SVN 2007-03-31 15:26:51 +00:00
Makefile.am Converted 8 spaces to tabs in two Makefile.am-s. 2008-04-22 14:49:14 +00:00
Makefile.in changed runautoconf instructions 2008-08-18 20:18:21 +00:00
makemoredists Fixed name collision with jpeg library 2008-04-22 00:44:56 +00:00
NEWS top-skimming import from sf.net 2007-03-07 20:03:40 +00:00
phototest.tif top-skimming import from sf.net 2007-03-07 20:03:40 +00:00
README Fixed name collision with jpeg library 2008-04-22 00:44:56 +00:00
ReleaseNotes Improved autoconf to find leptonica headers if present 2008-04-22 17:34:42 +00:00
runautoconf changed runautoconf instructions 2008-08-18 20:18:21 +00:00
StdAfx.cpp More new files for v2.00 2007-07-18 01:30:21 +00:00
StdAfx.h More new files for v2.00 2007-07-18 01:30:21 +00:00
tessdll_2008.vcproj includes the solution and vcproj 2008 files! 2008-08-21 08:56:44 +00:00
tessdll.cpp Fixed name collision with jpeg library 2008-04-22 00:44:56 +00:00
tessdll.dsp More changes for VC++6 2009-06-02 22:12:36 +00:00
tessdll.h Fixed name collision with jpeg library 2008-04-22 00:44:56 +00:00
tessdll.vcproj Updated vcproj for VC++2008 2009-06-02 19:59:41 +00:00
tesseract_2008.sln includes the solution and vcproj 2008 files! 2008-08-21 08:56:44 +00:00
tesseract_2008.vcproj update the vcproj file so that I can copy all the relevant files to output dir 2008-09-26 06:55:25 +00:00
tesseract.dsp More changes for VC++6 2009-06-02 22:12:36 +00:00
tesseract.dsw Devstudio changes for v2.00. 2007-07-18 00:59:35 +00:00
tesseract.sln Updated vcproj for VC++2008 2009-06-02 19:59:41 +00:00
tesseract.spec Automake changes for version 2.00. 2007-07-18 01:04:56 +00:00
tesseract.vcproj Updated vcproj for VC++2008 2009-06-02 19:59:41 +00:00

Introduction
============
This package contains the Tesseract Open Source OCR Engine.
Orignally developed at Hewlett Packard Laboratories Bristol and
at Hewlett Packard Co, Greeley Colorado, all the code
in this distribution is now licensed under the Apache License:

** 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.


Other Dependencies and Licenses:
================================
The Aspirin/MIGRAINES system is no longer required.

Tesseract can also make use of the libtiff library. (www.libtiff.org)
Without libtiff, Tesseract can only read uncompressed and G3 compressed
TIFF files.


History:
========
The engine was developed at Hewlett Packard Laboratories Bristol and
at Hewlett Packard Co, Greeley Colorado between 1985 and 1994, with some
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++
compiler. Currently it builds under Linux with gcc2.95 and under Windows
with VC++6. The C++ code makes heavy use of a list system using macros.
This predates stl, was portable before stl, and is more efficent than stl
lists, but has the big negative that if you do get a segmentation violation,
it is hard to debug. Another "feature" of the C/C++ split is that the C++
data structures get converted to C data structures to call the low-level C
code. This is ugly, and the C++izing of the C code is a step towards
eliminating the conversion, but it has not happened yet.


Directory Structure (ordered by dependency):
============================================
ccmain     Top-level code. The main program resides in tesseractmain.cpp.
display    An "editor" to view and operate on the internal structures.
           (Requires a working viewer - batteries not included.)
wordrec    The word-level recognizer.
textord    The module that organizes(orders) text into lines and words.
classify   The low-level character classifiers.
ccstruct   Classes to hold information about a page as it is being processed.
viewer     The client side of a client server viewing system.
           Unfortunately, at this time, the server side is not available.
image      Image class and processing functions.
dict       Language model code.
cutil      Code for file I/O, lists, heaps etc, from the old C code.
ccutil     Somewhat newer code for lists, memory allocation etc from the
           old C++ code.


About the Engine
================
This code is a raw OCR engine. It has NO PAGE LAYOUT ANALYSIS, NO OUTPUT
FORMATTING, and NO UI. It can only process an image of a single column
and create text from it. It can detect fixed pitch vs proportional text.
Having said that, in 1995, this engine was in the top 3 in terms of character
accuracy, and it compiles and runs on both Linux and Windows.
As of 2.0, Tesseract is fully unicode (UTF-8) enabled, and can recognize 6
languages "out of the box." Code and documentation is provided for the brave
to train in other languages. See code.google.com/p/tesseract-ocr for more
information on training.


Using the Engine
================
Windows:
The executable must reside in the same directory as the tessdata directory
The command line is:
tesseract <image.tif> <output> [-l langid]
A windows executable (tesseract.exe) is included in the distribution, but
may not work for you unless you also have the correct mfc and crt dlls.
There is also a tessdll.dll, which you can use to run tesseract from your
own program, but you may be better off building it yourself.

Non-Windows:
You have to tell Tesseract through a standard unix mechanism where to find
its data directory. You must either:
./configure
make
make install
to move the data files to the standard place, or:
export TESSDATA_PREFIX="directory in which your tessdata resides/"
(or equivalent) in your .profile or whatever or setenv to set the environment
variable. Note that the directory must end in a /
HAVING tesseract and tessdata IN THE SAME DIRECTORY DOES NOT WORK ANY MORE.
The command line is:
tesseract <image.tif> <output> [-l langid]

All Systems:
The image file requires a .tif extension for its type to be recognized
correctly. If a file exists with the .tif extension replaced by .uzn, then it
will be interpreted as a UNLV-style zone file. (See www.isri.unlv.edu for
details of the zone files.)
langid may be one of the codes defined in ISO 639-3, and you must download
the corresponding data files into your tessdata directory.