La tecnologia ICR (Intelligent Character Recognition), utilizzata per il riconoscimento del testo scritto a mano in stampatello, può considerarsi un’evoluzione ed una differenziazione dell’OCR. Nel momento in cui i sistemi OCR sono stati estesi al riconoscimento di dati scritti a mano in stampatello, si è fatto ricorso soprattutto alla tecnologia delle reti neuronali: per sottolineare che la tale nuova tecnologia era basata sull’intelligenza artificiale è stato allora coniato il nuovo acronimo, sostituendo alla “O” di Optical, la “I” di Intelligent.  

Contrariamente a quanto si possa immaginare, la maggior parte dei sistemi ICR è in grado di leggere solo parzialmente il testo stampato o dattiloscritto, quindi qualora si abbia necessità di estrarre sia dati stampati che manoscritti è necessario utilizzare sistemi di lettura ottica che dispongano anche di OCR. 

I sistemi ICR si possono distinguere in due categorie: constrained ed unconstrained. I primi sono quelli che riescono a riconoscere testo scritto a mano in stampatello in cui i caratteri sono totalmente separati gli uni dagli altri, mentre i secondi sono quelli che tollerano che alcuni caratteri possano toccarsi da loro.  E’ chiaro che la grande variabilità e scarsa ripetibilità della scrittura a mano rende enormemente complicato il lavoro di questi sistemi. Solitamente, per migliorare le prestazioni dei sistemi ICR, si ricorre ad una progettazione ottimizzata della modulistica, così che chi scriva i dati sia guidato a scrivere i singoli caratteri staccati, in caselle prestampate opportunamente colorate che siano filtrate già durante la scansione dei fogli..

L’utilizzo di caselle prestampate evita che si scrivano caratteri attaccati tra loro, mentre la loro stampa in colorazioni particolari ne rende possibile la rimozione in fase di scansione, migliorando il riconoscimento.

Una cosa molto importante da tenere presente è che i sistemi ICR, essendo addestrati su prototipi di scrittura reali, sono abbastanza sensibili allo stile di scrittura del campione usato: sistemi addestrati con campioni di caratteri americani funzionano bene quando si devono estrarre dati scritti da persone americane mentre possono presentare errori leggendo dati scritti da persone europee. Per rendersi conto della motivazione basta confrontare una tipica sequenza di numeri scritta da un italiano con quella scritta da un americano: si noterà immediatamente che un “7” americano è molto più simile ad un “1” italiano, così come pure un “4” americano è facilmente confondibile con un “9” italiano.

Le differenza degli stili di scrittura tra italiani ed anglosassoni sono significative: solo un sistema sviluppato ad hoc riesce a non confondere, ad esempio, un “1” con un “7”, un “4” con un “9”, etc.