MATLAB is een acroniem voor "matrix laboratorium" en verwijst naar een programmeertaal van hoog niveau en de programmeeromgeving, ontwikkeld door technische computer softwarebedrijf MathWorks. OCR is een afkorting voor "optical character recognition" en verwijst naar het proces van het lezen van gegevens in gedrukte vorm en identificeren van optische patronen die met letters, cijfers en andere tekens corresponderen.
OCR
Alle van de stappen betrokken bij OCR--segmentatie, voorzien van extractie en classificatie--kunnen worden geïmplementeerd met MATLAB. Segmentatie, waarbij de verbinding van shapes, en labeling en isoleren ze controleren, is de meest belangrijke fase, omdat hierdoor het OCR programma om functies uit elk individueel karakter. Segmentatie van handgeschreven tekst is bijzonder moeilijk omdat handgeschreven tekens de neiging om met elkaar worden verbonden. Functie extractie haalt de meest handige functies, in termen van erkenning, uit elk teken en indeling die functies aan tekenklassen toegewezen.
Fotolader
Volgens een paper gepresenteerd tijdens een seminar gegeven door LASIN laboratorium van Synergetics aan de Universiteit van Ljubljana, kan OCR worden geïmplementeerd in MATLAB met behulp van de neurale netwerk Toolbox en de Image Processing Toolbox add-ons. De eerste fase worden het lezen van de afbeelding in de MATLAB-werkruimte als een bitmap-bestand. Dit is een type grafisch bestand waarop elk beeld element, of pixel, komt met één of meer binaire cijfers of bits, in het geheugen overeen. De volgende code wordt gebruikt voor deze taak.
Ik = imread('training.bmp');
imshow(I)
Afbeelding conversie
De volgende fase is de gekleurde afbeelding, die is opgeslagen als aparte overlays van rode, groene en blauwe, te zetten in een afbeelding in grijswaarden, die uit aparte grijstinten bestaat. De volgende MATLAB-code converteert de RGB-afbeelding naar een afbeelding in grijswaarden.
Igray = rgb2gray(I);
imshow(Igray)
Dorsen
Vervolgens, wordt een techniek die bekend staat als "dorsen" gebruikt voor het omzetten van de afbeelding in grijswaarden in een binaire afbeelding. De cel van MATLAB codes vereist de grijswaardenafbeelding omzetten in een binaire afbeelding ziet er als volgt:
IBW = im2bw(Igray,graythresh(Igray));
imshow(IBW)
Randdetectie
Zodra de binaire image is gemaakt, worden de afzonderlijke tekens in subplaatjes bijgesneden. Deze bieden de ruwe gegevens voor de functie-extractie routine. De subplaatjes moeten scherp aan de rand van elk teken worden bijgesneden als ze willen worden van standaard formaat, zodat de rand van elk teken opsporen belangrijk is. De rand van een afbeelding kan worden opgespoord met behulp van de volgende MATLAB-code.
Iedge = edge(uint8(Ibw));
imshow(Iedge)
Objecten
Alle objecten in een afbeelding-- en de eigenschappen van elk object--kunnen worden bepaald met behulp van de volgende MATLAB-code.
[Ilabel num] = bwlabel(Ifill);
DISP(NUM);
Iprops = regionprops(Ilabel);
IBOX = [Iprops.BoundingBox];
IBOX = omvormen (Ibox, [4 50]);
imshow(I)