Tesseract OCR — Moteur de Reconnaissance Optique de Caractères Open Source
Tesseract OCR est un moteur de deep learning conçu pour extraire le texte d'images et de documents PDF. Utilisez cette documentation pour maîtriser son installation sous Windows, Linux et macOS, configurer les modes de réseaux neuronaux et intégrer l'OCR dans vos flux de travail logiciels.
Qu'est-ce que Tesseract ?
Tesseract est un moteur qui transforme les pixels bruts d'une image en données textuelles indexables et structurées. Né dans les laboratoires de Hewlett-Packard en 1985, il est aujourd'hui maintenu par la communauté open source mondiale et prend en charge plus de 100 langues grâce à ses réseaux neuronaux LSTM (Long Short-Term Memory).
Installation
Puisque Tesseract est une bibliothèque C++ hautement optimisée, la méthode la plus simple pour l'installer consiste à utiliser le gestionnaire de paquets de votre système.
macOS
Homebrew est la méthode officiellement recommandée pour macOS (puces Apple Silicon et Intel).
brew install tesseract
brew install tesseract-lang
Ubuntu / Debian
Les dépôts officiels apt proposent des versions stables de Tesseract.
sudo apt install tesseract-ocr
sudo apt install tesseract-ocr-fra tesseract-ocr-all
Windows
Les exécutables précompilés pour Windows sont fournis par le projet UB Mannheim. Les gestionnaires de paquets comme scoop ou winget le prennent également en charge.
scoop install tesseract
scoop install tesseract-languages
Démarrage Rapide & Commandes CLI
Tesseract est avant tout un outil en ligne de commande. Extraire du texte d'une image nécessite une seule ligne.
tesseract nom_image base_sortie [-l langue] [-psm modesegmentation] [fichier_config...]
Exemple : Extraire du texte en Français
Pour extraire le texte de facture.png et l'enregistrer dans resultat.txt :
tesseract facture.png resultat -l fra
.txt dans le nom de sortie. Tesseract l'ajoute automatiquement.
Modes de Segmentation de Page (PSM)
Les modes de segmentation de page (PSM) indiquent à Tesseract comment diviser visuellement l'image pour repérer les blocs de texte. Par défaut, Tesseract attend une page complète (PSM 3). Si votre image ne contient qu'une seule ligne ou du texte épars, utilisez l'option --psm adéquate.
- 0 : Détection de l'orientation et de l'écriture (OSD) uniquement.
- 1 : Segmentation automatique de page avec OSD.
- 3 : Segmentation automatique complète sans OSD. *(Par défaut)*
- 4 : Colonne unique de texte de tailles variables.
- 6 : Bloc unique et uniforme de texte.
- 7 : Traiter l'image comme une seule ligne de texte.
- 11 : Texte épars. Trouve autant de texte que possible sans ordre précis.
- 13 : Ligne brute. Traite comme une ligne unique sans heuristiques internes.
Pour forcer le traitement en tant que ligne unique :
tesseract code_barres.png stdout --psm 7
Modes du Moteur OCR (OEM)
Les modes du moteur (OEM) permettent de basculer entre le moteur hérité par comparaison de formes et le réseau de neurones moderne LSTM. Vous pouvez alterner via l'option --oem pour équilibrer vitesse et précision.
- 0 : Moteur hérité classique uniquement. (Vision par ordinateur traditionnelle).
- 1 : Moteur de réseaux neuronaux LSTM uniquement. (Rapide et haute fidélité).
- 2 : Moteurs hérité et LSTM combinés.
- 3 : Par défaut, selon les modèles
.traineddatadisponibles.
Formats de Sortie
Au-delà de la sortie en texte brut dans la console ou dans des fichiers .txt, Tesseract sait générer des PDF interactifs et des géométries de mise en page.
PDF Consultables et Indexables
Pour convertir une image en PDF consultable avec texte invisible parfaitement superposé à l'image scannée :
tesseract document.tif sortie_pdf pdf
PDF Uniquement Texte Invisible
Utile pour superposer du texte sur des pages PDF existantes dans un pipeline automatisé :
tesseract scan.png sortie textonly_pdf
hOCR / TSV / ALTO
Pour obtenir les coordonnées précises en pixels de chaque mot reconnu ainsi que son score de confiance :
tesseract image.png sortie hocr
tesseract image.png sortie tsv
Bibliothèques & Wrappers de Programmation
Vous souhaitez intégrer Tesseract dans une application web ou un microservice ? La communauté open source a développé des connecteurs pour la plupart des langages.
Python (pytesseract)
Nécessite que le binaire Tesseract CLI soit installé sur la machine.
import pytesseract
from PIL import Image
img = Image.open('recu.png')
texte = pytesseract.image_to_string(img, lang='fra')
print(texte)
pytesseract.
Node.js & JavaScript (tesseract.js)
Portage complet en WebAssembly du code C++. S'exécute directement dans le navigateur ou dans Node.js sans installation de binaires.
const Tesseract = require('tesseract.js');
Tesseract.recognize(
'https://tesseractocr.org/exemple.png',
'fra',
{ logger: m => console.log(m) }
).then(({ data: { text } }) => {
console.log(text);
});
Entraînement de Modèles OCR Personnalisés
Tesseract 5 s'appuie sur le projet tesstrain pour entraîner et ajuster (fine-tuning) les modèles neuronaux LSTM.
Le Dépôt tesstrain
Contrairement à la version 3, l'entraînement sous Tesseract 5 est automatisé par des Makefiles qui orchestrent la génération massive de données d'apprentissage.
git clone https://github.com/tesseract-ocr/tesstrain
cd tesstrain
make tesseract-langdata
Pour des explications approfondies sur les données de référence (Ground Truth) et les époques d'entraînement, consultez le dépôt officiel tesstrain sur GitHub.
Moteurs Complémentaires & Outils d'IA Documentaire
Bien que Tesseract demeure le standard ouvert incontournable, les chaînes modernes de traitement s'associent souvent à des bibliothèques complémentaires :
- PaddleOCR : Moteur de deep learning (PP-OCRv6) performant pour la reconnaissance de tableaux et de textes courbés.
- Docling : Analyseur de documents pour l'IA générative et le RAG qui convertit PDF et images en Markdown et JSON structurés.
- Python Pillow : Bibliothèque incontournable pour le prétraitement d'images (contraste, seuillage et recadrage) avant l'OCR.
Fin de la documentation technique de Tesseract.
Avertissement : TesseractOCR.org est un projet documentaire indépendant géré par la communauté et n'est ni affilié ni soutenu formellement par le projet officiel Tesseract OCR.