C
City-App
🔍 Tehnic 📅 3 mai 2026 ⏱️ 8 min citit

OCR românesc pentru documente vechi — Tesseract 5 cu 95% acuratețe

Ghid tehnic: cum digitalizezi documente vechi de primărie cu OCR românesc. Tesseract 5, pre-procesare imagine, corectare diacritice.

Optical Character Recognition (OCR) transformă documente scanate în text căutabil. Pentru primării, aceasta este cheia digitalizării arhivelor cu 50.000-500.000 pagini acumulate în decenii. Cu Tesseract 5 și optimizări pentru română, se pot obține 95-98% acuratețe pe documente curate.

De ce e diferit OCR-ul pentru română

Limba română are caractere specifice:

OCR-ul generic pentru engleză produce erori masive pe română. Este esențial dicționarul + modelul de limbă românesc.

Tesseract 5 — instalare + antrenare

Tesseract 5 este open-source (Google), cu suport LSTM neural network pentru acuratețe mult mai mare vs versiuni vechi.

# Ubuntu/Debian
sudo apt install tesseract-ocr tesseract-ocr-ron
# Verificare
tesseract --list-langs | grep ron

Modelul ron.traineddata este oficial mentenanță de Google + comunitate. Poate fi ajustat pentru domeniu specific (documente juridice, medicale, etc.).

Pre-procesare imagine (critic!)

Calitatea OCR depinde 60% de calitatea imaginii de intrare. Pași obligatorii:

  1. Deskew: îndreptare imagine dacă e scanată strâmb (max 1° rotație)
  2. Denoise: eliminare zgomot din scanare
  3. Binarize: alb-negru cu threshold Otsu (optim automat)
  4. Sharpen: creștere contrast marginile literelor
  5. DPI: 300+ DPI pentru text mic, 600 DPI pentru arhive vechi
import cv2
img = cv2.imread('document.png', cv2.IMREAD_GRAYSCALE)
img = cv2.medianBlur(img, 3)  # denoise
_, img = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

Rulare OCR + parametri optimi

tesseract document.png output -l ron --psm 3 --oem 3
# --psm 3 = automatic page segmentation
# --oem 3 = LSTM neural network (default in v5)

PSM (Page Segmentation Mode) importante:

Post-procesare — corectare diacritice

Chiar și cu modelul RO, unele confuzii apar:

Soluții:

Acuratețe realistă

Tip documentAcuratețe
PDF text scanat modern (Word print)98-99%
Scanare buletin/CI/pașaport95-98%
Formulare tipizate primărie92-97%
Registre vechi mașină de scris85-92%
Documente handwritten (manuscris)50-70%
Documente pre-1950 (fonturi vechi)40-70%

Indexare full-text în Elasticsearch

După OCR, textul se indexează pentru căutare rapidă:

Timp de procesare

Pentru 100.000 pagini: aprox 100-150 ore (2 săptămâni pe un server multi-core).

Costuri

Vezi soluția City-App DMS cu OCR românesc sau ghidul DMS complet.

Vrei să implementezi asta în primăria ta?

Consultanță gratuită, demo personalizat și estimare buget. Răspundem în 24 de ore.