Tutte le fasi del processo di OCR - segmentazione , estrazione di caratteristiche e classificazione - può essere implementato utilizzando MATLAB . Segmentazione , che consiste nel verificare la connettività di forme , e di etichettatura e di isolarle , è la fase più importante perché permette al programma OCR per estrarre le caratteristiche di ogni singolo carattere . Segmentazione del testo scritto a mano è particolarmente difficile perché caratteri scritti a mano tendono ad essere collegati tra loro . Estrazione delle caratteristiche estrae le caratteristiche più utili , in termini di riconoscimento , da ogni personaggio e la classificazione assegna quelle caratteristiche di classi di caratteri .
Acquisizione Immagine
Secondo un documento presentato ad un seminario tenuto dal Laboratorio Lasin di Sinergetica presso l'Università di Lubiana , OCR può essere implementato in MATLAB utilizzando la Casella degli strumenti di rete neurale e Image Processing Toolbox add-ons . La prima fase prevede la lettura dell'immagine nel workspace di MATLAB in un file bitmap . Questo è un tipo di file grafico in cui ciascun elemento di immagine , o pixel , corrisponde a una o più cifre binarie , o bit , in memoria . Il codice seguente viene utilizzato per questo compito
I = imread ( ' training.bmp '); . Imshow ( I)
Conversione di immagini
la fase successiva è quella di convertire l'immagine colorata , che viene memorizzato come rosso separato , verde e blu sovrapposizioni , in una scala di grigi , che si compone di tonalità discrete di grigio . Il seguente codice MATLAB converte l'immagine RGB in scala di grigi
Igray = rgb2gray ( I) . Imshow ( Igray )
Trebbiatura
Successivamente , una tecnica nota come " trebbiatura " viene utilizzato per convertire l'immagine in scala di grigi in un'immagine binaria . La cella di codici MATLAB necessari per convertire l' immagine in scala di grigi in un'immagine binaria simile a questa :
IBW = im2bw ( Igray , graythresh ( Igray ) ) ; imshow ( IBW ) economici
Bordo Detection
Una volta che l' immagine binaria è creata , i singoli caratteri vengono tagliati in subimages . Questi forniscono i dati grezzi per la routine di funzionalità di estrazione . Le subimages devono essere tagliate nettamente al confine di ogni personaggio , se vogliono essere di dimensioni standard , in modo da rilevare il bordo di ogni personaggio è importante. Il bordo di un'immagine può essere rilevato utilizzando il seguente codice MATLAB
iEdge = bordo ( uint8 ( PCI) ) . Imshow ( iEdge )
Oggetti
.
Tutti gli oggetti in un'immagine - e le proprietà di ogni oggetto - può essere determinata utilizzando il seguente codice MATLAB
Ilabel [ num ] = bwlabel ( Ifill ) ; disp ( num) ; Iprops = regionprops ( Ilabel ) ; Ibox = [ Iprops.BoundingBox ] ; Ibox = rimodellare ( Ibox , [ 4 50 ] ) ; imshow (I ) economici
software © www.354353.com