Tesseract Open Source OCR Engine (main repository)
Go to file
Stefan Weil b9b08c7e50 Replace log2(n) by local functions (#1353)
* Replace log2(n) by faster local function

This also adds support for environments without a log2 function (Android).

Signed-off-by: Stefan Weil <sw@weilnetz.de>

* Provide local log2 function on platforms without log2 function

The existing implementation in wordrec/language_model.cpp is modified
to use a local inline function in the tesseract namespace and copied
to lstm/weightmatrix.cpp, too.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2018-03-02 06:54:43 +01:00
.github Make less verbose 2017-06-03 15:30:48 +05:30
android Update Android.mk 2016-12-15 12:08:10 +02:00
api Fix some typos in comments (found by codespell) (#1331) 2018-02-21 08:39:07 +01:00
arch Add more avx2, sse4.1 flags. Add MSVC's AVX2 ICE workaround. 2018-01-24 18:45:15 +03:00
ccmain Don't drop words with low certainty (#1264) 2018-02-20 17:19:10 +01:00
ccstruct mark& block legacy OCR Engine untill it will be removed. 2018-02-18 19:31:09 +01:00
ccutil fixes for C++11 (#1164) 2018-02-28 15:42:33 +01:00
classify returns the correct dictionary if lstm only used 2017-09-14 13:03:22 +02:00
cmake Rename tesseract library. 2018-01-05 18:51:35 +03:00
contrib helper script to generate dawg input files from text 2016-10-17 19:04:29 +01:00
cutil Autotools build: Remove the option 'USING_MULTIPLELIBS' 2017-09-11 15:03:53 +03:00
dict Autotools build: Remove the option 'USING_MULTIPLELIBS' 2017-09-11 15:03:53 +03:00
doc Add list of scripts to manpage for tesseract (#1347) 2018-02-24 09:37:25 +01:00
googletest@4bab34d208 Add googletest submodule 2017-07-24 19:45:06 +02:00
java automake: Enable all warnings and fix a warning 2017-05-15 20:08:54 +02:00
lstm Replace log2(n) by local functions (#1353) 2018-03-02 06:54:43 +01:00
opencl Autotools build: Remove the option 'USING_MULTIPLELIBS' 2017-09-11 15:03:53 +03:00
snap Download the leptonica source from github 2017-06-29 16:29:29 -06:00
tessdata Remove execute permission from config file (#1263) 2018-01-10 16:43:02 +01:00
testdata Harder unittest that uses file i/o and string manipulation 2017-08-03 15:51:18 -07:00
testing Groundtruth for testing/eurotext.tif 2017-09-04 18:31:13 +05:30
tests googletest: Add dummy test 2017-07-24 19:45:06 +02:00
textord Autotools build: Remove the option 'USING_MULTIPLELIBS' 2017-09-11 15:03:53 +03:00
training gle_uncial (#1342) 2018-02-22 17:20:31 +01:00
unittest unittest/apiexample_test: Use googletest API for error handling 2017-09-13 13:50:39 +02:00
viewer Autotools build: Remove the option 'USING_MULTIPLELIBS' 2017-09-11 15:03:53 +03:00
vs2010 Remove mathfix.h 2017-06-05 20:26:25 +02:00
wordrec Replace log2(n) by local functions (#1353) 2018-03-02 06:54:43 +01:00
.gitignore Remove files generated by libtool (#1329) 2018-02-20 17:17:49 +01:00
.gitmodules Add googletest submodule 2017-07-24 19:45:06 +02:00
.travis.yml Disable travis os x builds as they do not work well on travis-side. 2017-09-09 21:13:14 +03:00
appveyor.yml Update appveyor.yml 2018-02-22 23:41:44 +03:00
AUTHORS AUTHORS: Add more contributors 2016-11-27 00:04:05 +02:00
autogen.sh automake: Enable all warnings and fix a warning 2017-05-15 20:08:54 +02:00
ChangeLog Fix ChangeLog for Leptonica 1.74 2017-04-22 18:33:37 +02:00
CMakeLists.txt Update CMakeLists.txt 2018-01-24 19:21:37 +02:00
configure.ac Fix some typos in comments (found by codespell) (#1331) 2018-02-21 08:39:07 +01:00
CONTRIBUTING.md Change Mac OS X -> macOS 2017-06-02 21:50:17 +02:00
COPYING Result of clang tidy on recent merge 2016-11-07 10:46:33 -08:00
cppan.yml Remove whitespace. 2018-02-21 08:08:55 +03:00
docker-compose.yml Dockerifying using travis build script 2016-03-18 00:32:35 -04:00
Dockerfile Fix and improve Dockerfile 2017-05-18 21:35:53 +02:00
INSTALL Fix typos 2017-01-29 13:12:24 +01:00
INSTALL.GIT.md Add additional information 2017-09-12 11:32:27 +05:30
LICENSE Added missing license headers 2016-11-18 15:53:11 -08:00
Makefile.am Clean Makefile.am (#1322) 2018-02-18 15:25:31 +01:00
NEWS top-skimming import from sf.net 2007-03-07 20:03:40 +00:00
README.md Update README.md (#1239) 2017-12-20 08:14:18 +01:00
tesseract.pc.cmake Cmake install 2017-04-20 14:50:53 +03:00
tesseract.pc.in improve tesseract.pc.in - fixes #241 2016-03-04 22:25:40 +01:00

Tesseract OCR

Build Status Build status
Coverity Scan Build Status Insight.io

About

This package contains an OCR engine - libtesseract and a command line program - tesseract.

The lead developer is Ray Smith. The maintainer is Zdenko Podobny. For a list of contributors see AUTHORS and GitHub's log of contributors.

Tesseract has unicode (UTF-8) support, and can recognize more than 100 languages "out of the box".

Tesseract supports various output formats: plain-text, hocr(html), pdf, tsv, invisible-text-only pdf.

You should note that in many cases, in order to get better OCR results, you'll need to improve the quality of the image you are giving Tesseract.

This project does not include a GUI application. If you need one, please see the 3rdParty wiki page.

Tesseract can be trained to recognize other languages. See Tesseract Training for more information.

Brief history

Tesseract was originally 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. In 2005 Tesseract was open sourced by HP. Since 2006 it is developed by Google.

The latest stable version is 3.05.01, released on June 1, 2017. Latest source code for 3.05 is available from 3.05 branch on github.

Source code for the new LSTM based 4.00.00alpha version is available from the master branch on github. Please note this branch is under active development.

See Release Notes and Change Log for more details of the releases.

Installing Tesseract

You can either Install Tesseract via pre-built binary package or build it from source.

Supported Compilers are:

  • GCC 4.8 and above
  • Clang 3.4 and above
  • MSVC 2015, 2017

Other compilers might work, but are not officially supported.

Running Tesseract

Basic command line usage:

tesseract imagename outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode] [configfiles...]

For more information about the various command line options use tesseract --help or man tesseract.

For developers

Developers can use libtesseract C or C++ API to build their own application. If you need bindings to libtesseract for other programming languages, please see the wrapper section on AddOns wiki page.

Documentation of Tesseract generated from source code by doxygen can be found on tesseract-ocr.github.io.

Support

Before you submit an issue, please review the guidelines for this repository.

For support, first read the Wiki, particularly the FAQ to see if your problem is addressed there. If not, search the Tesseract user forum, the Tesseract developer forum and past issues, and if you still can't find what you need, ask for support in the mailing-lists.

Mailing-lists:

Please report an issue only for a bug, not for asking questions.

License

The code in this repository is 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.

NOTE: This software depends on other packages that may be licensed under different open source licenses.

Latest Version of README

For the latest online version of the README.md see:

https://github.com/tesseract-ocr/tesseract/blob/master/README.md