MATLAB är en förkortning för " matrix laboratorium " och hänvisar till en hög nivå programmeringsspråk och programmeringsmiljö utvecklad av tekniskt företag datorprogram MathWorks . OCR är en förkortning för " optisk teckenigenkänning " och hänvisar till processen att läsa data i tryckt form och identifiera optiska mönster som motsvarar bokstäver, siffror och andra tecken . OCR
p Alla av de olika stegen i OCR - segmentering , särdragsextrahering och klassificering - kan genomföras med hjälp av MATLAB . Segmentering , vilket innebär kontroll av anslutning av former , och etikettering och isolera dem , är det viktigaste steget eftersom det gör att OCR- program för att extrahera egenskaper från varje individuell karaktär . Segmentering av handskriven text är särskilt svårt eftersom handskrivna tecken tenderar att vara anslutna till varandra . Särdragsextraktion extraherar de mest användbara funktionerna i fråga om erkännande från varje karaktär och klassificering tilldelar dessa funktioner till karaktär klasser .
Bildinsamling
Enligt ett föredrag vid ett seminarium som ges av Lasin Laboratory av Synergetics vid universitetet i Ljubljana, kan OCR implementeras i MATLAB använder Neural Network Toolbox och Image Processing Toolbox tillägg . Den första etappen innebär läsning bilden i MATLAB arbetsytan som en bitmap -fil . Detta är en typ av grafisk fil där varje bildelement , eller pixel , motsvarar en eller flera binär siffra , eller bit , i minnet. I följande kod används för denna uppgift
I = imread ( ' training.bmp '); . Imshow ( I )
Image Conversion
Nästa steg är att omvandla den färgade bilden , som lagras som separata röda , gröna och blå överlägg , till en gråskalebild , som består av diskreta nyanser av grått . Följande MATLAB -kod konverterar RGB- bilden till en gråskalebild
Igray = rgb2gray ( I); . Imshow ( Igray )
Tröskning
Därefter , är en teknik som kallas " tröskning " används för att konvertera gråskalebilden till en binär bild. Cellen i MATLAB koder som krävs för att konvertera gråskalebild till en binär bild ser ut ungefär så här :
IBW = im2bw ( Igray , graythresh ( Igray ) ) ; imshow ( IBW )
Edge Detection
När den binära bilden skapas , är enskilda tecken beskurna in delbilder . Dessa utgör rådata för funktionen - extraktion rutin . De delbilder måste beskäras kraftigt vid gränsen för varje tecken , om de ska vara av standardstorlek , så detektera kanten av varje tecken är viktigt . Kanten på en bild kan detekteras med hjälp av följande MATLAB kod
iEDGE = kant ( uint8 ( IBW ) ) . Imshow ( iEDGE )
Objects
.
Alla objekt i en bild - och egenskaperna för varje objekt - kan bestämmas med följande MATLAB kod
[ Ilabel num] = bwlabel ( Ifill ) , disp ( num ) ; Iprops = regionprops ( Ilabel ) ; Ibox = [ Iprops.BoundingBox ] ; Ibox = omforma ( Ibox , [ 4 50 ] ) ; imshow ( I ) katalog