Riconoscimento dei caratteri (OCR algoritmo)

Sto lavorando su un progetto in cui devo sviluppare un Algoritmo OCR ( devo leggere il testo dall’Immagine e quindi convertirlo in lingua diversa ).Quindi, il mio primo compito è quello di ottenere il testo da immagine.

Passi per completare il primo compito.

  1. Il caricamento di qualsiasi formato di immagine (bmp, jpg, png) da sorgente. Quindi convertire l’immagine in scala di grigi e binarize utilizzando il valore di soglia (Otsu algoritmo). //completato(Come per rimuovere il rumore dell’Immagine in uscita???)

Risultati

Riconoscimento dei caratteri (OCR algoritmo)

Riconoscimento dei caratteri (OCR algoritmo)

  1. Rilevare immagine caratteristiche come la risoluzione e l’inversione. In modo che siamo finalmente in grado di convertire un immagine raddrizzata per l’ulteriore elaborazione. (completato il codice di rotazione dell’Immagine, ma non in grado di rilevare Immagine angolo di cui abbiamo per ruotare l’Immagine,in Modo ancora lavorando su angolo di rilevamento di parte)
  2. Linee di rilevamento e rimozione. Questo passaggio è necessario per migliorare l’analisi del layout di pagina, per ottenere un migliore riconoscimento di qualità per il testo sottolineato, per rilevare le tabelle, etc.(Ha deciso Di Completare la parte Finale)
  3. Analisi del layout di pagina. In questa fase sto cercando di identificare le zone di testo presente nell’immagine. In modo che solo la parte utilizzata per il riconoscimento e il resto della regione è lasciato fuori.
  4. Individuazione di linee di testo e parole. Qui abbiamo anche bisogno di prendersi cura di diverse dimensioni e piccoli spazi tra le parole.
  5. Il riconoscimento dei caratteri. Questo è il principale algoritmo di riconoscimento; un’immagine di ogni personaggio deve essere convertiti in caratteri appropriato codice. A volte questo algoritmo produce diversi codici di carattere incerto per immagini. Per esempio, il riconoscimento dell’immagine di “I” caratteri in grado di produrre “io”, “|” “1”, “l” codici e il carattere finale codice verrà selezionato successivamente.
  6. Salvare i risultati in formato di output selezionato, per esempio, ricercabile, PDF, DOC, RTF, TXT. È importante salvare il layout originale della pagina: colonne, font, colori, immagini di sfondo e così via.

Così ho bisogno di aiuto in part6.Ho completato la linea di rilevamento parte (ottenere n Immagini da un paragrafo contenente le n righe), ma bloccato nella parte successiva di farsi parole e caratteri recognisation.Se si conoscono bene i link relativi alle OCR e di carattere recognisation parte quindi si prega di postare Qui.

Per carattere recognisation sto pensando di utilizzare asprise(libreria Java) http://asprise.com/product/ocr/index.php?lang=java

InformationsquelleAutor TLE | 2013-03-03

 

4 Replies
  1. 18

    Per rilevare il angolo di rotazione, utilizzare il Hough trasformazione.

    Per riduzione del rumore, sostituire i pixel, che non dispone di un prossimo (nord, est, sud o ovest) con lo stesso colore (un colore simile, utilizzando una soglia di tolleranza), con la media dei paesi vicini.

    Di ricerca verticale bianco lacune per layout di rilevamento. Fetta lungo la verticale gap. Per ogni sezione, ora cerca la distanza orizzontale e slice. Se le sezioni sono le stesse (simili) di altezza, si sono a livello di linea. In caso contrario, ripetere verticale/orizzontale di taglio, fino a quando si dispone solo di linee sinistra. L’ultimo passo è di nuovo un sezionamento verticale, dando singoli personaggi (o legature in alcuni casi). Stretto e lungo o corto e largo, le porzioni sono linee.

    Confrontare il carattere fette con un carattere di biblioteca. Se la prestazione non è la preoccupazione principale, tenta di trovare i personaggi all’interno di diverse librerie di font, fino a quando è possibile identificare il tipo di carattere utilizzato. Quindi bastone con che tipo di carattere per di riconoscimento dei caratteri.

    Nell’immagine originale, sostituire ogni carattere con il colore di sfondo, che è determinato dal interpolando i pixel che non sono parte del carattere per ogni pixel del carattere. Questo ti dà la immagine di sfondo, se qualsiasi.

    • Voglio qualche buon metodo di rimozione del rumore .”sostituire qualsiasi pixel, che non dispone di un prossimo (nord, est, sud o ovest) con lo stesso colore” non funziona abbastanza bene.
    • Se si dispone di informazioni circa la larghezza del tratto dei personaggi, si può guardare per grandi ammassi. È inoltre possibile utilizzare Hough per rilevare le lacune, in modo che il rumore non disturba più di tanto.
    • Io sono sempre solo il 60% di precisione nel carattere corrispondente parte Come posso migliorare? , per il carattere di corrispondenza sto usando il mio metodo per partita Immagine del personaggio.
    • Come rilevare la spaziatura tra i caratteri, dopo aver caratteri dall’Immagine che abbiamo di rendere frase , per questo dobbiamo porre spazio .
    • Devi calcolare che formano la posizione del carattere
  2. 3

    Si consiglia di guardare in Tesseract per il riconoscimento del carattere di parte.

    • Google Visione API è la pena di guardare in essi eseguire l’OCR, anche se non ho provato

Lascia un commento