Optical character recognition

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Optical character recognition (OCR), of in het Nederlands: optische tekenherkenning is een transformatie waarbij uit een afbeelding van een tekst door middel van patroonherkenning alle tekens uit de afbeelding als zodanig worden herkend en apart opgeslagen door een computer(programma). Oftewel, de tekst uit een afbeelding wordt omgezet in bewerkbare tekst. Een voorbeeld hiervan is Automatische kentekenplaatherkenning.

Meestal wordt een scanner gebruikt om een afbeelding van het papier te maken en naar de computer te sturen. De afbeelding wordt meestal aangemaakt met een resolutie van 150-300 dpi en opgeslagen in het TIFF formaat.

Wanneer alle tekens herkend zijn kan de OCR-software verschillende bewerkingen uitvoeren. De bekendste bewerking is het opslaan van de tekens in een verder bewerkbaar bestandsformaat, waarbij dikwijls zowel de taal van het origineel, als de fonts en de opmaak worden gereproduceerd. In dit geval wordt het een "full text OCR" genoemd.

Door OCRn neemt een pagina met tekst nog maar een paar kilobyte aan geheugenopslag in. Bovendien is hij daarna weer bewerkbaar in een tekstverwerker. Belangrijk is ook dat de tekst nu doorzoekbaar kan worden gemaakt, bijvoorbeeld in een digitale bibliotheek of in een zoekmachine.

Contextuele OCR - ICR[bewerken]

In dit geval worden de initiële OCR-resultaten gebruikt om verdere analyses uit te voeren om specifieke informatie te gaan zoeken in het gescande beeld. Bijvoorbeeld: indien het gescande beeld een factuur is, zal de analyse proberen uit alle OCR-resultaten de verschillende specifieke factuurgegevens te vinden (factuurnummer, datum, btw, totalen, leverancier etc.). Dit soort OCR wordt ook wel ICR genoemd (Intelligent Character Recognition). Dit verwijst naar de context waarin de gevonden gegevens geplaatst worden.

Herkennen van gedrukte tekst[bewerken]

Cijfers in OCR-A, een lettertype speciaal ontworpen voor optical character recognition

Er zijn verschillende fases die doorlopen worden om tekst te herkennen:

  • Controle van de oriëntatie, staat de tekst op z'n kant of op de kop, dan moet de afbeelding eerst geroteerd worden. Ook als de tekst scheef staat is er soms een mogelijkheid om dit min of meer recht te zetten. Deze functie heet vaak in het Engels skew of de-skew, rechte lijnen lopen dan weer recht in plaats van scheef naar boven of onder.
  • Herkennen van de tekstelementen (kolommen, tekstblokken, tekstregels, woorden). Een normale brief of pagina in een boek bestaat over het algemeen uit één kolom of tekstblok. Een krant daarentegen heeft meerdere kolommen. Een OCR-programma kan dit vaak automatisch herkennen. De volgorde van de tekstblokken en/of kolommen is meestal te wijzigen door een soort rangorde met '123' op de bewerkingsknoppen.
  • Tekst en plaatjes scheiden. De tekst wordt afgezonderd van de rest, waarbij het formaat van de plaatjes veelal in .PNG of .JPG (vroeger .PCX) wordt weggezet.
  • Bij professioneel OCR kan de herkenning ook nog numeriek of alfa-numeriek gezet worden, zodat dus alleen cijfers of cijfers+letters worden herkend.
  • Karakterherkenning. De letters worden stuk voor stuk geanalyseerd: welk teken, welk lettertype, grootte enz. en dan vergeleken met voorbeelden van letters waarover het programma beschikt. Soms kan een OCR-programma nieuwe voorbeelden toevoegen (de zogenaamde training-optie), zodat later dezelfde soort letter weer herkend wordt. Vaak worden er ook regels toegepast die beschrijven hoe de taal per landsaard is opgebouwd.
  • Controle van de woorden met een woordenboek (library / dictionary) van alle bestaande woorden, de zogenoemde spellingcontrole. Bij OCR is de beginletter vaak de discutabele letter (denk aan geef, beef, leef, zeef, teef, weef, heeft enz.) Bij eenvoudige OCR-programma's wordt de woordenlijst (taalafhankelijk!) vaak weggelaten, wat aanzienlijk in tijd en opslagcapaciteit van de harde schijven kan schelen. Intelligente spellcheckers hebben de eigenschap om tijdens het werken ermee te groeien in omvang, wat te beperken is door per categorie of onderwerp (medisch, technisch, historisch e.d.) verschillende woordenlijsten aan te leggen.
  • Exporteren. Tot slot kan het resultaat opgeslagen worden. Daarbij kan vaak gekozen worden in welk formaat en in welke mate de oorspronkelijke opmaak gereconstrueerd moet worden. Zo zal een tekstbestand een andere uitvoer opleveren dan een spreadsheet of PDF-file. Bij het exporteren wordt vaak ook de plaats van de tekstelementen op de oorspronkelijke pagina opgeslagen. Van ieder tekstblok, tekstregel en woord worden de coördinaten van het tekstelement op de afbeelding opgeslagen. Hiermee kan het tekstelement bijvoorbeeld gemarkeerd worden (highlighting).

De tekenherkenning van moderne gedrukte teksten is meestal behoorlijk goed van kwaliteit. Bij oudere teksten komt het regelmatig voor dat tekens niet goed herkend worden. Dit wordt veroorzaakt door de slechtere kwaliteit van het origineel, bijvoorbeeld beschadigingen op de pagina, doorschemeren van inkt van de achterkant van de pagina, spikkels of vlekken op het origineel, oudere lettertypen, oude spellingsvarianten, andere layout van pagina's e.d.

Handschriftherkenning[bewerken]

Wordt met OCR het herkennen van gedrukte tekst bedoeld, handschriftherkenning wordt door sommige leveranciers ook ICR genoemd. ICR staat voor Intelligent Character Recognition. Handschriftherkenning is vele malen ingewikkelder dan het herkennen van gedrukte tekst, vanwege de grote variatie in schrijfwijzen.

Toch wordt deze techniek veel en succesvol ingezet voor het herkennen van handgeschreven teksten op met name formulieren. Doordat de tekst daar op vaste plaatsen staat en ook vaak een specifieke betekenis heeft, bijvoorbeeld postcode, registratienummer, adres, getal, is er door de softwaresystemen toch een goede herkenbaarheid.

Sinds het einde van de jaren tachtig zijn de eerste commerciële toepassingen beschikbaar gekomen. In de loop der jaren zijn deze sterk verbeterd. Vanaf ongeveer 2000 zijn er ook bruikbare programma's die worden gebruikt in kleine computers (handheld computer of PDA) waar een toetsenbord ontbreekt. Sinds kort zijn er pennen op de markt, waarmee je kunt schrijven op papier en daarna op de pc de geschreven tekst omzetten naar getypte tekst.

Toepassingen van handschriftherkenning zijn bijvoorbeeld de sorteercentrales van de posterijen, formulierherkenning (bijvoorbeeld belastingformulieren), enquêteverwerking, schadeformulieren bij verzekeringen, factuurherkenning etc.

OMR[bewerken]

Naast OCR en ICR bestaat er ook nog OMR (Optical Mark Recognition), dit is een vergelijkbare technologie die echter gespecialiseerd is in de herkenning van aangevinkte vakjes en zwart gemaakte rondjes (voor toepassingen zoals de Citotoets). Kenmerkend voor deze techniek is over het algemeen het gebruik van formulieren die gedrukt zijn in een bepaalde kleur die bij het scannen wegvalt. Alleen de markeringen blijven dan over waardoor ze nog gemakkelijker door de software herkend kunnen worden.

Barcode[bewerken]

Veel programma's voor herkenning kunnen tevens barcodes (streepjescode) ontcijferen die zich op de gescande documenten bevinden.

ITR[bewerken]

Naast OCR, OMR en ICR bestaat er ook nog ITR, Intelligent Textual Recognition. Dit is een programma dat op het internet op zoek gaat naar sites over een bepaald, vooraf ingegeven, onderwerp en hiervan dan een samenvatting maakt.

Digitaliseren[bewerken]

Er is op internet een groeiende club enthousiaste mensen, die door middel van scannen en OCR de zogenoemde e-books of digitale boeken voor het project Gutenberg maakt. Daarbij gaat het vaak om werken waar geen auteursrecht meer voor geldt, dus oudere literatuur. Ook genealogie- ofwel stamboomenthousiastelingen maken graag van deze techniek gebruik om oude gemeentelijke archieven te digitaliseren. Daarnaast zijn veel erfgoedinstellingen bezig collecties te digitaliseren, zoals bibliotheken, archieven en musea. Ook in het programma Google Books worden op grote schaal boeken gedigitaliseerd, in samenwerking met bibliotheken en uitgevers.

Zie ook[bewerken]

Externe en wikilinks voor OCR-software[bewerken]