Domanda

Sto costruendo un'applicazione iOS (scatta un'immagine ed esegui OCR su di essa) usando Tesseract (una libreria OCR) e funziona molto bene con numeri e caratteri ben scritti (usando i soliti caratteri).

Il problema che sto riscontrando è che se lo provo su un display a 7 segmenti, dà risultati molto pessimi.

Quindi la mia domanda è: qualcuno sa come posso affrontare questo problema? C'è un modo per Tesseract di riconoscere questi personaggi?

È stato utile?

Soluzione

Anch'io ho avuto grandi difficoltà a convincere Tesseract a riconoscere le cifre dalle immagini di display LCD.

Ho avuto un certo successo marginale preelaborando le immagini con ImageMagick per sovrapporre una copia dell'immagine su se stessa con un leggero cambio verticale per colmare le lacune tra i segmenti:

$ composite -compose Multiply -geometry +0+3  foo.tif foo.tif foo2.png

Alla fine, però, la mia grazia salvifica era la "Riconoscimento di caratteri a sette segmenti"Binario: http://www.unix-ag.uni-kl.de/~auerswal/ssocr/

Mille grazie all'autore, Erik Auerswald, per questo codice!

Altri suggerimenti

Non ho provato il display a 7 segmenti di OCring, ma sospetto che il problema possa essere causato dai personaggi che non sono componenti collegati. Tesseract non gestisce bene i caratteri disconnessi dalla mia esperienza.

L'erosione semplice (preelaborazione dell'immagine) potrebbe aiutare collegando i segmenti, ma dovresti testarla e giocare con le dimensioni del kernel per prevenire troppe distorsioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top