Passa al contenuto principale

Tesseract OCR — Motore Open Source di Riconoscimento Ottico dei Caratteri

Tesseract OCR è un motore di deep learning progettato per estrarre testo da immagini e documenti PDF. Consulta questa documentazione per installarlo su Windows, Linux e macOS, configurare i modelli di reti neurali e integrare l'OCR nelle tue applicazioni.

Nota : Il nucleo di Tesseract è un programma da riga di comando e una libreria C++.
Demo Immediata nel Browser : Non vuoi installare binari locali per il momento? Prova l'OCR in modo 100% privato con il nostro Strumento Web OCR Online.

Cos'è Tesseract?

Tesseract è un motore che trasforma i pixel grezzi di un'immagine in dati testuali strutturati e ricercabili. Sviluppato nel 1985 presso Hewlett-Packard, è oggi mantenuto dalla community globale open source e supporta oltre 100 lingue tramite reti neurali LSTM (Long Short-Term Memory).


Installazione

Essendo una libreria C++ altamente ottimizzata, il modo più pratico per installare Tesseract è attraverso il gestore di pacchetti del sistema operativo.

macOS

Homebrew è il metodo ufficialmente consigliato per macOS (processori Apple Silicon e Intel).

Terminale
brew install tesseract
brew install tesseract-lang

Ubuntu / Debian

I repository ufficiali apt contengono versioni stabili di Tesseract.

Terminale
sudo apt install tesseract-ocr
sudo apt install tesseract-ocr-ita tesseract-ocr-all

Windows

I file eseguibili precompilati per Windows sono distribuiti dal progetto UB Mannheim. Anche gestori di pacchetti come scoop o winget lo supportano nativamente.

PowerShell
scoop install tesseract
scoop install tesseract-languages

Avvio Rapido & Comandi CLI

Tesseract nasce principalmente come strumento a riga di comando. Estrarre testo da un'immagine richiede un solo comando.

Terminale
tesseract nome_immagine base_output [-l lingua] [-psm modosegmentazione] [file_config...]

Esempio: Estrarre testo in Italiano

Per estrarre il testo da fattura.png e salvarlo in risultato.txt :

Terminale
tesseract fattura.png risultato -l ita
Nota : Ometti l'estensione .txt nel nome di output. Tesseract la aggiungerà automaticamente.

Modalità di Segmentazione della Pagina (PSM)

Le modalità di segmentazione della pagina (PSM) indicano a Tesseract come suddividere visivamente l'immagine per individuare i blocchi di testo. Di default, Tesseract presuppone una pagina completa (PSM 3). Se l'input contiene solo una riga o testo sparso, specifica il flag --psm appropriato.

Regola Pratica : Usa **PSM 3 (Auto)** per documenti standard, **PSM 6 (Blocco unico)** per paragrafi uniformi e **PSM 7 (Riga singola)** per codici a barre ed etichette.
  • 0 : Solo rilevamento orientamento e scrittura (OSD).
  • 1 : Segmentazione automatica della pagina con OSD.
  • 3 : Segmentazione automatica completa senza OSD. *(Predefinito)*
  • 4 : Singola colonna di testo con dimensioni variabili.
  • 6 : Singolo blocco uniforme di testo.
  • 7 : Tratta l'immagine come una singola riga di testo.
  • 11 : Testo sparso. Trova tutto il testo possibile senza un ordine fisso.
  • 13 : Riga grezza. Elabora come riga singola senza euristiche interne.

Per forzare l'elaborazione come riga singola :

Terminale
tesseract codice_barre.png stdout --psm 7

Modalità del Motore OCR (OEM)

Le modalità del motore (OEM) consentono di passare dal motore classico basato su confronto di pattern alla moderna rete neurale LSTM. Puoi alternare tramite il parametro --oem per bilanciare velocità e precisione.

Consiglio : **OEM 1 (LSTM)** è il motore predefinito in Tesseract 5 e offre la massima accuratezza. **OEM 0 (Legacy)** serve solo per caratteri storici particolari.
  • 0 : Solo motore legacy classico. (Metodi di computer vision tradizionali).
  • 1 : Solo motore di reti neurali LSTM. (Veloce e ad alta precisione).
  • 2 : Motori legacy e LSTM combinati.
  • 3 : Predefinito, in base ai modelli .traineddata installati.

Formati di Output

Oltre al semplice testo a schermo o in file .txt, Tesseract genera PDF interattivi e mappe geometriche dettagliate.

PDF Ricercabili e Indicizzabili

Per convertire un'immagine scansionata in un PDF ricercabile con testo invisibile perfettamente sovrapposto :

Terminale
tesseract documento.tif output_pdf pdf

PDF Solo Testo Invisibile

Utile per sovrapporre il testo su pagine PDF preesistenti in una pipeline automatizzata :

Terminale
tesseract scan.png output textonly_pdf

hOCR / TSV / ALTO

Per recuperare le coordinate pixel esatte di ogni parola e i relativi punteggi di confidenza :

Terminale
tesseract immagine.png output hocr
tesseract immagine.png output tsv

Librerie & Wrapper di Programmazione

Vuoi integrare Tesseract in un'applicazione web o in un microservizio? La community offre connettori per quasi tutti i linguaggi.

Python (pytesseract)

Richiede che il binario CLI di Tesseract sia installato sul sistema operativo.

Python
import pytesseract
from PIL import Image

img = Image.open('scontrino.png')
testo = pytesseract.image_to_string(img, lang='ita')
print(testo)
Consiglio di Pre-elaborazione : Per scontrini sbiaditi o immagini rumorose, aumenta il contrasto e binarizza l'immagine con Python Pillow prima del passaggio a pytesseract.

Node.js & JavaScript (tesseract.js)

Porting completo in WebAssembly del codice C++. Si esegue direttamente nel browser o in Node.js senza installazioni sul server.

JavaScript
const Tesseract = require('tesseract.js');

Tesseract.recognize(
  'https://tesseractocr.org/esempio.png',
  'ita',
  { logger: m => console.log(m) }
).then(({ data: { text } }) => {
  console.log(text);
});

Addestrare Modelli OCR Personalizzati

Tesseract 5 si avvale del repository tesstrain per addestrare ed eseguire il fine-tuning dei modelli neurali LSTM.

Il Repository tesstrain

A differenza della versione 3, l'addestramento nella versione 5 è automatizzato da Makefile che coordinano la generazione massiva dei dati di apprendimento.

Terminale
git clone https://github.com/tesseract-ocr/tesstrain
cd tesstrain
make tesseract-langdata

Per dettagli approfonditi sui dati di riferimento (Ground Truth) e le epoche di addestramento, consulta il repository ufficiale tesstrain su GitHub.


Strumenti Correlati & Motori di Document AI

Sebbene Tesseract rimanga lo standard open source indiscusso, le pipeline moderne combinano spesso librerie complementari :

  • PaddleOCR : Framework basato su deep learning (PP-OCRv6) eccellente per il riconoscimento di tabelle complesse e testo orientato.
  • Docling : Parser di documenti per Generative AI e RAG che trasforma PDF e immagini in Markdown e JSON strutturati.
  • Python Pillow : La libreria standard per la manipolazione di immagini (regolazione del contrasto, sogliatura e ritaglio) prima dell'OCR.

Fine della documentazione tecnica di Tesseract.

Dichiarazione di non responsabilità: TesseractOCR.org è un progetto documentale indipendente gestito dalla community e non ha affiliazioni ufficiali con il progetto Tesseract OCR.