139 lines
6.4 KiB
Markdown
139 lines
6.4 KiB
Markdown
# Faire de l'OCR sous Debian / Linux Mint
|
|
|
|
## Qu'est-ce que l'OCR ?
|
|
|
|
L'**OCR** (*Optical Character Recognition*, ou « reconnaissance optique de caractères » en français) désigne la technologie qui permet de transformer une image contenant du texte — une photo de document, une page scannée, un PDF issu d'un scanner — en **texte éditable** que l'on peut copier, rechercher ou modifier.
|
|
|
|
Concrètement, l'OCR analyse les formes présentes dans l'image, identifie les caractères, et reconstruit le texte sous-jacent. La qualité du résultat dépend de trois choses : la **lisibilité de l'image** (résolution, contraste, absence de flou), la **complexité de la mise en page**, et la **qualité du moteur OCR** utilisé.
|
|
|
|
## Quel outil choisir ?
|
|
|
|
Il n'existe pas un seul « bon » outil OCR : le meilleur choix dépend de ce que tu veux faire. Voici les principaux cas d'usage et l'outil recommandé pour chacun.
|
|
|
|
### Cas 1 — Tu veux rendre un PDF scanné consultable
|
|
|
|
C'est le besoin le plus fréquent : tu as un PDF qui ressemble à du texte mais qui est en réalité une suite d'images, donc impossible à copier ou à rechercher. **OCRmyPDF** est conçu exactement pour ça : il ajoute une couche de texte invisible derrière les images, en préservant la mise en page d'origine.
|
|
|
|
```bash
|
|
sudo apt update
|
|
sudo apt install ocrmypdf tesseract-ocr-fra
|
|
ocrmypdf -l fra document_scanné.pdf document_ocr.pdf
|
|
```
|
|
|
|
### Cas 2 — Tu veux extraire du texte d'une image ponctuelle
|
|
|
|
Pour une capture d'écran, une photo de document, ou quelques images, **Tesseract** en ligne de commande est l'outil le plus simple et le plus direct. C'est le moteur OCR open source de référence, utilisé en arrière-plan par la plupart des autres outils.
|
|
|
|
```bash
|
|
sudo apt install tesseract-ocr tesseract-ocr-fra
|
|
tesseract image.png sortie -l fra
|
|
```
|
|
|
|
Le résultat est écrit dans `sortie.txt`.
|
|
|
|
> **Astuce :** pour reconnaître plusieurs langues dans le même document, on les combine avec `+`, par exemple `-l fra+eng`.
|
|
|
|
### Cas 3 — Tu préfères une interface graphique
|
|
|
|
Si la ligne de commande te rebute, **gImageReader** est une interface graphique pour Tesseract, activement maintenue, avec sélection de zones, prévisualisation et export dans plusieurs formats.
|
|
|
|
```bash
|
|
sudo apt install gimagereader
|
|
```
|
|
|
|
**OCRFeeder** est une autre option historique, mais le projet est peu maintenu depuis plusieurs années. Il reste fonctionnel pour des cas simples, mais gImageReader est généralement un meilleur choix aujourd'hui.
|
|
|
|
### Cas 4 — Tes documents sont complexes (manuscrits, mises en page riches, langues rares)
|
|
|
|
Tesseract montre ses limites sur les écritures manuscrites, les documents très bruités, ou certaines langues. Dans ces cas, les outils basés sur l'apprentissage profond donnent de bien meilleurs résultats : **PaddleOCR**, **EasyOCR** ou **docTR**. Ils sont plus lourds à installer (Python + dépendances ML), mais la qualité de reconnaissance est nettement supérieure.
|
|
|
|
L'installation typique se fait via `pip` dans un environnement virtuel :
|
|
|
|
```bash
|
|
sudo apt install python3-venv python3-pip
|
|
python3 -m venv ~/ocr-env
|
|
source ~/ocr-env/bin/activate
|
|
pip install easyocr # ou paddleocr, ou python-doctr
|
|
```
|
|
|
|
## Installer OCRFeeder (si tu y tiens)
|
|
|
|
Si tu veux malgré tout installer OCRFeeder — par exemple parce que son interface te convient ou pour tester — il existe **deux méthodes** sous Debian / Mint : via les dépôts officiels (plus simple) ou via Flatpak (version plus récente et plus à jour).
|
|
|
|
### Méthode A — Via les dépôts APT (la plus simple)
|
|
|
|
OCRFeeder est packagé dans Debian et Linux Mint. Une seule commande suffit :
|
|
|
|
```bash
|
|
sudo apt update
|
|
sudo apt install ocrfeeder
|
|
```
|
|
|
|
C'est la méthode recommandée si tu veux juste essayer rapidement. L'inconvénient : la version disponible dans les dépôts peut être ancienne, surtout sur Debian stable.
|
|
|
|
### Méthode B — Via Flatpak (version la plus récente)
|
|
|
|
Flatpak permet d'installer une version plus à jour, indépendante de la distribution.
|
|
|
|
**Étape 1 — Installer Flatpak**
|
|
|
|
Sur Debian comme sur Mint, Flatpak n'est pas toujours présent par défaut :
|
|
|
|
```bash
|
|
sudo apt install flatpak
|
|
```
|
|
|
|
Sous Linux Mint, l'intégration avec le gestionnaire de logiciels est généralement déjà active. Sous Debian, tu peux aussi installer le greffon GNOME Software pour gérer les Flatpaks graphiquement :
|
|
|
|
```bash
|
|
sudo apt install gnome-software-plugin-flatpak
|
|
```
|
|
|
|
**Étape 2 — Ajouter le dépôt Flathub**
|
|
|
|
Flathub est le dépôt principal d'applications Flatpak. Sans lui, tu n'as accès à aucune application.
|
|
|
|
```bash
|
|
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
```
|
|
|
|
**Étape 3 — Installer OCRFeeder**
|
|
|
|
```bash
|
|
flatpak install flathub org.gnome.OCRFeeder
|
|
```
|
|
|
|
> **À noter :** on n'utilise **pas** `sudo` ici. Flatpak est conçu pour installer les applications au niveau de l'utilisateur, ce qui est plus sûr et n'exige aucun privilège administrateur. N'utilise `sudo flatpak install` que si tu veux explicitement rendre l'application disponible pour tous les utilisateurs du système.
|
|
|
|
**Étape 4 — Redémarrer la session (la première fois)**
|
|
|
|
Après la toute première installation Flatpak, il faut souvent redémarrer la session pour que les nouvelles applications apparaissent dans le menu.
|
|
|
|
**Étape 5 — Lancer l'application**
|
|
|
|
Depuis le menu d'applications, ou en ligne de commande :
|
|
|
|
```bash
|
|
flatpak run org.gnome.OCRFeeder
|
|
```
|
|
|
|
## Pour aller plus loin
|
|
|
|
- [OCRFeeder sur Flathub](https://flathub.org/apps/org.gnome.OCRFeeder)
|
|
- [Documentation Tesseract](https://tesseract-ocr.github.io/)
|
|
- [OCRmyPDF — documentation](https://ocrmypdf.readthedocs.io/)
|
|
- [gImageReader sur GitHub](https://github.com/manisandro/gImageReader)
|
|
- [Documentation Flatpak pour Debian](https://flatpak.org/setup/Debian)
|
|
- [Documentation Flatpak pour Linux Mint](https://flatpak.org/setup/Linux%20Mint)
|
|
|
|
## En résumé
|
|
|
|
| Besoin | Outil recommandé | Commande d'installation |
|
|
|---|---|---|
|
|
| Rendre un PDF scanné consultable | OCRmyPDF | `sudo apt install ocrmypdf` |
|
|
| Extraire du texte d'une image | Tesseract | `sudo apt install tesseract-ocr` |
|
|
| Interface graphique simple | gImageReader | `sudo apt install gimagereader` |
|
|
| Documents complexes / manuscrits | PaddleOCR, EasyOCR, docTR | via `pip` |
|
|
| Solution historique | OCRFeeder | `sudo apt install ocrfeeder` |
|
|
|
|
Le meilleur réflexe est de **commencer par identifier ton besoin réel** avant de choisir l'outil — pas l'inverse. |