Ray Smith, ICDAR 2007, pp. 629–633. Printed p. 629, section 2, describes the then-current engine architecture: binary image, connected components, line/word organization and recognition passes. Source hosted by the Tesseract project. Historical architecture is not asserted as the architecture of all current releases.
Character segmentation 2026-11-05
Character segmentation separates an image of text into regions or hypotheses associated with individual characters. It is a specialized image segmentation problem within optical character recognition. The useful boundaries depend on the writing and imaging process: visible connected ink regions need not correspond one-to-one with characters.[ref]
For example, the dot and stem of a lowercase i can be disconnected regions belonging to one character. Two touching characters can instead form a single connected region. Connected-component labeling can locate connected regions, but counting those regions alone therefore cannot reliably count the characters.
A recognizer can compare alternative splits and merges. A degraded image of rn may admit one merged-region interpretation as m and a two-character interpretation as r followed by n. The choice depends on shape evidence, spacing and recognition context. Incorrectly committing to one region per character too early can make the correct word unavailable to later stages.
The historical Tesseract engine described by Ray Smith tests cuts when word recognition is unsatisfactory and can also associate broken pieces. Recognition thus supplies feedback about segmentation hypotheses, rather than merely accepting a fixed partition.[ref]
Character segmentation should be evaluated separately from simply matching the final text. A boundary error can cause several character edits, while a correct boundary can still receive the wrong label. Character error rate measures the resulting transcription disagreement; it does not by itself identify which stage caused it.
Ray Smith is a researcher and developer associated with optical character recognition and the Tesseract engine. His official author profile records development of Tesseract at HP Labs Bristol and later work on it at Google. These are documented contributions, rather than an identification with other people sharing the name.[ref]
His 2007 paper An Overview of the Tesseract OCR Engine by Ray Smith explains an architecture that first organizes a page into text lines and words, then performs recognition in two passes. Confident first-pass results train an adaptive classifier; a later pass revisits difficult words using what the system has learned about that document. The paper also discusses character segmentation and recognition features.[ref]
A useful example is a page printed in one unusual font. Recognizing several clear characters can provide evidence about that page's letter shapes, helping interpret an ambiguous character elsewhere. Adaptation improves specificity but also makes the reliability of its training examples important. This explains a documented design idea; the 2007 architecture should not be assumed to describe every later Tesseract release.
Figure 1.
Ray Smith, the OCR researcher, identified on his Google Research author profile
. External portrait linked by Ray Smith profile by Google Research.
Tesseract (software) 2026-11-05
Tesseract is an open-source engine for optical character recognition. It combines image analysis with trained recognition data to extract text from images. Its documentation describes a command-line interface and a programming interface, with recognition data for different writing systems. A language choice affects the model used; it does not translate the recognized text.[ref]
For example, the documented command tesseract scan.png result -l eng reads an image, selects English recognition data and writes text to result.txt. The output basename is result, so the filename extension is supplied by the selected output format. Adding pdf requests a PDF containing the page image and a searchable text layer. If recognition confuses a letter in the image, searching that text layer can still miss the intended word.[ref]
The architecture has changed over its history. Ray Smith's 2007 paper describes an engine that groups connected image outlines into lines and words, then recognizes them in successive passes. Version 4 introduced recognition based on long short-term memory neural networks; the 5.x manual documents this engine alongside the legacy option.[ref][ref]
A useful test compares output with a checked transcription using character error rate, while also inspecting omitted regions and reading order. Recognition accuracy depends on image quality, layout and matching language data. Installing the engine alone does not establish the accuracy of a particular scanned collection.