[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re : Re: [OCR] tesseract et tesserocr inopérants



Bonjour,

Voici ce que je propose :

# Mini‑manuel OCR — Sauvetage (1 page)

**Objet :** aide‑mémoire rapide pour rendre OCR‑compatible un PDF « tout‑image » très abîmé (photocopie/scan de scan).

---

## Règle d'or (en 2 lignes)

1. Forcer une **rasterisation propre à 300 dpi**. 2. Prétraiter (deskew, contraste, binarisation Sauvola/Niblack si nécessaire). Ensuite OCR.

---

## Dépannage express (commande unique)

```
ocrmypdf --force-ocr --rotate-pages --deskew --remove-background --clean -l fra+eng article.pdf article_ocr.pdf
```

Si colonnes : ajouter `--tesseract-pageseg-mode 4`.

---

## Pipeline minimal (si OCRmyPDF échoue)

1. Rasteriser proprement

```bash
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -r300 -o page-%02d.png article.pdf
```

2. Prétraiter (ImageMagick)

```bash
magick page-01.png -units PixelsPerInch -density 300 -resample 300x300 \
  -colorspace Gray -contrast-stretch 0.5% -deskew 40% -sharpen 0x1 prep-page-01.png
```

3. (Option) dépoussiérage : `unpaper` ou filtre OpenCV (Sauvola)
4. OCR par page

```bash
tesseract prep-page-01.png out -l fra+eng --oem 1 --psm 6
```

5. Recomposer PDF accessible

```bash
img2pdf prep-page-*.png -o prepped.pdf
ocrmypdf --force-ocr prepped.pdf article_ocr.pdf
```

---

## Commandes & options utiles (cheat‑sheet)

* `--force-ocr` : ré‑OCR même si le PDF contient déjà une couche texte.
* `--deskew`, `--rotate-pages` : corrige l'inclinaison.
* `--remove-background --clean` : utile pour ombres/halos.
* Tesseract : `--oem 1` (LSTM), `--psm 6` (bloc de texte), `--psm 4` (colonnes).
* Langues : installer `tesseract-ocr-fra` et utiliser `-l fra+eng`.

---

## Symptômes courants & solutions rapides

* **Texte vide / "empty"** → rasteriser à 300 dpi, augmenter contraste, réessayer.
* **Texte penché** → `-deskew 40%` ou `--deskew`.
* **Texte très petit** → `magick ... -resize 200%` avant OCR.
* **Fond sombre / texte clair** → `-negate` avant OCR.
* **Bruit fort (photocopie)** → median/denoise + Sauvola binarization.

---

## Plan B (engins plus costauds)

* **Kraken** ou **Calamari** : meilleurs sur scans dégradés, entraînement/usage plus avancés.
* **OpenCV + Sauvola** : excellente binarisation adaptative.

---

## Script de secours (copier→coller)

```bash
#!/usr/bin/env bash
PDF=${1:-article.pdf}
# 1) PDF -> PNG 300 dpi
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -r300 -o page-%02d.png "$PDF"
# 2) Prétraitement rapide
for f in page-*.png; do
  magick "$f" -units PixelsPerInch -density 300 -resample 300x300 \
    -colorspace Gray -contrast-stretch 0.5%% -deskew 40%% -sharpen 0x1 "prep-$f"
done
# 3) OCR
for f in prep-page-*.png; do
  tesseract "$f" "${f%.png}" -l fra+eng --oem 1 --psm 6
done
cat prep-page-*.txt > article.txt
# 4) PDF accessible
img2pdf prep-page-*.png -o prepped.pdf
ocrmypdf --force-ocr prepped.pdf article_ocr.pdf

echo "OK : article.txt et article_ocr.pdf générés."
```

---

## Dépendances (rapide)

`ghostscript`, `imagemagick` (ou `magick`), `ocrmypdf`, `tesseract-ocr`, `tesseract-ocr-fra`, `img2pdf`, `unpaper` (optionnel).

---

## Rappel pratique

* Toujours travailler sur une copie. ??
* Si tu veux, je peux te générer un **PDF prêt‑à‑imprimer** de cette fiche ou une **version Markdown** pour ton dépôt.

---

*Fait pour les cas désespérés — garde cette page comme aide‑mémoire.*


Merci et bonne journée

Sincèrement 
Bernard Schœnacker


Reply to: