MATLAB er et akronym for " matrix laboratorium " og refererer til et høyt nivå programmeringsspråk og programmering miljø utviklet av tekniske dataprogrammer selskapets MathWorks . OCR er en forkortelse for " Optical Character Recognition " og refererer til prosessen med å lese data i trykt form og identifisere optiske mønstre som tilsvarer bokstaver, tall og andre tegn. OCR
Alle trinnene involvert i OCR - segmentering, funksjon utvinning og klassifisering - kan implementeres ved hjelp MATLAB . Segmentering, som innebærer å sjekke tilkobling av former , og merking og isolere dem , er den viktigste fasen fordi det gir OCR program for å trekke ut funksjoner fra hver enkelt karakter. Segmentering av håndskrevet tekst er spesielt vanskelig fordi håndskrevne tegn har en tendens til å bli koblet til hverandre . Feature utvinning trekker ut de mest nyttige funksjonene , i form av anerkjennelse , fra hver karakter og klassifisering tildeler disse funksjonene til karakter klasser.
Image Capture
Ifølge en artikkel presentert på et seminar holdt av LASIN Laboratory of Synergetics ved Universitetet i Ljubljana , kan OCR bli implementert i MATLAB bruker Neural Network Toolbox and Image Processing Toolbox add- ons. Den første fasen innebærer å lese bildet inn i MATLAB arbeidsområdet som en bitmap fil . Dette er en form for grafisk fil der hvert bildeelement eller piksel , korresponderer til en eller flere binære siffer eller bits i minnet. Følgende kode brukes for denne oppgaven
I = imread (' training.bmp '); . Imshow ( I)
bilde konvertering
den neste fasen er å konvertere den fargede bildet, som lagres som separate røde, grønne og blå overlegg , i et gråtonebilde , som består av diskrete nyanser av grått. Følgende MATLAB kode konverterer RGB-bilde til et gråtonebilde
Igray = rgb2gray ( I) ; . Imshow ( Igray )
Threshing
Deretter , er en teknikk kjent som " treske " brukes til å konvertere gråtonebilde til et binært bilde. Cellen i MATLAB som kreves for å konvertere gråtonebilde til et binært bilde ser omtrent slik ut : en
IBW = im2bw ( Igray , graythresh ( Igray )); imshow ( IBW )
Kantdeteksjon
Når det binære bildet er laget , er individuelle tegn beskjæres inn subimages . Disse gir rådata for den funksjonsrike utvinning rutine. De subimages må beskjæres kraftig på grensen av hvert tegn, hvis de skal være av standard størrelse, så detektere kanten av hvert tegn er viktig . Kanten av et bilde kan oppdages ved hjelp av følgende MATLAB kode
Iedge = kant ( uint8 ( IBW )); . Imshow ( Iedge )
Objects
.
Alle objekter i et bilde - og egenskapene til hvert objekt - kan bestemmes ved hjelp av følgende MATLAB kode
[ Ilabel num ] = bwlabel ( Ifill ) ; disp ( num ); Iprops = regionprops ( Ilabel ) ; Ibox = [ Iprops.BoundingBox ]; Ibox = omskape ( Ibox , [ 4 50 ] ); imshow ( I)