2013-07-16 20 views
13

Il problema con cui sto correndo è estrarre il testo da un'immagine e per questo ho usato Tesseract v3.02. Le immagini di esempio da cui estrarre il testo sono correlate alle letture del contatore. Alcuni di questi sono con sfondo a foglio solido e alcuni di loro hanno un display a LED. Ho formato il set di dati per lo sfondo di un solido foglio ei risultati sono un po 'efficaci.Rilevamento del testo sul display a sette segmenti via Tesseract OCR

Il problema principale che ho ora sono le immagini di testo con sfondo LED/LCD che non sono riconosciute da Tesseract e per questo il set di allenamento non viene generato.

Qualcuno può guidarmi nella giusta direzione su come utilizzare Tesseract con il display a sette segmenti (sfondo LCD/LED) o c'è qualche altra alternativa che posso usare al posto di Tesseract.

LED background image 1 LED background image 2 Meter 1 with solid sheet background enter image description here enter image description here

+2

"Ho preparato il set di dati per lo sfondo di un solido foglio." Per favore, potresti dirmi, come hai ottenuto questo risultato? –

risposta

4

Questo mi sembra un compito un'immagine pre-elaborazione. Tesseract preferirebbe davvero che le sue immagini fossero tutte testo bianco su nero in formato bitmap. Se gli dai qualcosa che non è così, farà del suo meglio per convertirlo in quel formato. Non è molto intelligente su come farlo. Usando un qualche strumento di manipolazione delle immagini (mi è piaciuto il imagemagick), è necessario rendere le immagini più soddisfacenti per tesseract. Un primo passaggio facile potrebbe essere quello di eseguire una sfocatura gaussiana di piccolo raggio, soglia a un valore piuttosto basso (si sta tentando di mantenere solo il nero, quindi il 15% sembra giusto), quindi invertire l'immagine.

La parte difficile diventa quindi sapere quale operazione di pre-elaborazione deve eseguire. Se hai dei metadati che ti dicono che tipo di display hai a che fare, bene. Altrimenti, ho il sospetto che tu possa guardare agli istogrammi dei colori delle immagini per capire almeno se il tuo testo è bianco su nero o nero su colore. Se questi sono gli unici scenari, il bianco su sfondo nero è sempre a tinta unita e il nero su colore è sempre a sette segmenti, quindi il gioco è fatto. Se no, dovrai essere intelligente. Buona fortuna, e per favore facci sapere cosa ti viene in mente.

+0

http://stackoverflow.com/questions/9361213/7-segment-display-ocr?rq=1 questa domanda stackoverflow ha un collegamento a uno script c per la lettura di sette segmenti indipendenti da OCR. Probabilmente vale anche la pena dare un'occhiata. – Mongoose1021

+0

Grazie, aggiornerò su di esso. – yunas

+0

Sto usando GPUImageLibrary https://github.com/BradLarson/GPUImage. Ho fatto esattamente la stessa cosa di te. Ho applicato la sfocatura gaussiana e poi, invece di invertire, ho reso più nitido l'immagine sfocata e fornito al gaussiano ha funzionato in una certa misura, ma per le immagini che ho aggiunto alla posizione 4 in questione. Fallisce ... che tipo di filtri dovrebbero essere applicati? – yunas

Problemi correlati