Passer au contenu principal

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.

Remarque : Le cœur de Tesseract est un exécutable en ligne de commande et une bibliothèque d'API C++.
Démo Instantanée dans le Navigateur : Vous ne souhaitez pas installer de binaires locaux pour l'instant ? Testez l'OCR de manière 100 % privée avec notre Outil Web d'OCR en Ligne.

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

Terminal
brew install tesseract
brew install tesseract-lang

Ubuntu / Debian

Les dépôts officiels apt proposent des versions stables de Tesseract.

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

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

Terminal
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 :

Terminal
tesseract facture.png resultat -l fra
Remarque : Omettez l'extension .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.

Règle Pratique : Utilisez **PSM 3 (Auto)** pour les documents courants, **PSM 6 (Bloc unique)** pour les paragraphes uniformes et **PSM 7 (Ligne unique)** pour les codes-barres et étiquettes.
  • 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 :

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

Recommandation : **OEM 1 (LSTM)** est le réglage par défaut dans Tesseract 5 et fournit la plus grande précision. **OEM 0 (Legacy)** n'est requis que pour certaines polices historiques.
  • 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 .traineddata disponibles.

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 :

Terminal
tesseract document.tif sortie_pdf pdf

PDF Uniquement Texte Invisible

Utile pour superposer du texte sur des pages PDF existantes dans un pipeline automatisé :

Terminal
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 :

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

Python
import pytesseract
from PIL import Image

img = Image.open('recu.png')
texte = pytesseract.image_to_string(img, lang='fra')
print(texte)
Conseil de Prétraitement : Pour les reçus dégradés ou bruités, améliorez le contraste et binarisez l'image avec Python Pillow avant de la transmettre à 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.

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

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