Matlab er en forkortelse for "matrix laboratorium " og henviser til et højt niveau programmeringssprog og programmering miljø udviklet af tekniske computer software firma MathWorks . OCR er en forkortelse for "optisk tegngenkendelse " og henviser til processen med at læse data i trykt form og identificere optiske mønstre, der svarer til bogstaver, tal og andre tegn. OCR
p Alle de trin , der er involveret i OCR - segmentering, feature extraction og klassifikation - kan implementeres ved hjælp af MATLAB . Segmentering, som indebærer kontrol af tilslutningsmuligheder af former , og mærkning og isolere dem , er den vigtigste fase , fordi det giver mulighed for OCR program til at udtrække features fra hver enkelt karakter. Segmentering af håndskrevet tekst er særlig vanskelig på grund håndskrevne tegn tendens til at være forbundet med hinanden . Feature extraction udtrækker de mest nyttige funktioner i form af anerkendelse , fra hver karakter og klassificering tildeler disse funktioner til figurklasser .
Billedoverførsel
Ifølge en fremlagt papir på et seminar givet af LASIN Laboratorium for Synergetics på universitetet i Ljubljana, kan OCR implementeres i Matlab vha. Neural Network Toolbox og Image Processing Toolbox add-ons. Den første fase indebærer læsning billedet i MATLAB arbejdsområde som en bitmap -fil. Dette er en type grafikfil , hvor hvert billedelement eller pixel , svarer til én eller flere binært ciffer , eller bit , i hukommelsen . Følgende kode anvendes til denne opgave
I = imread ( training.bmp «) . Imshow (I)
billedkonvertering
næste trin er at konvertere den farvede billede , der er lagret som særskilt rød , grøn og blå overlejringer i et gråtonebillede , der består af diskrete grå nuancer . Den følgende Matlab kode konverterer RGB-billede til et gråtonebillede
Igray = rgb2gray (I); . Imshow ( Igray )
Tærskning
Efterfølgende , er en teknik kendt som " tærskning " anvendes til at konvertere gråtonebilledet i et binært billede . Cellen til Matlab koder , der kræves for at konvertere gråtonebilledet til et binært billede ser nogenlunde sådan her : Hej
IBW = im2bw ( Igray , graythresh ( Igray )), imshow ( IBW )
< br > Kantdetektering
Når det binære billede er oprettet, er enkelte tegn beskæres i underbilleder . Disse giver de rå data for feature- udvinding rutine. De underbilleder skal beskæres kraftigt ved grænsen til hver karakter , hvis de skal være af standardstørrelse , så detektere kanten af hver karakter er vigtig. Kanten af et billede, kan påvises ved hjælp af følgende Matlab kode
Iedge = kant ( uint8 ( IBW )), . Imshow ( Iedge )
Objects
.
Alle objekter i et billede - og de egenskaber hvert objekt - kan bestemmes ved hjælp af følgende Matlab kode
[ Ilabel num ] = bwlabel ( Ifill ), disp ( num ) ; Iprops = regionprops ( Ilabel ) Ibox = [ Iprops.BoundingBox ] Ibox = omforme ( Ibox , [ 4 50 ]) imshow (I)