UPORABA TEHNOLOGIJE OPTIČNEGA PREPOZNAVANJA ZNAKOV V APLIKACIJAH WINDOWS 10

Podobni dokumenti
Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

PowerPointova predstavitev

IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko Projekt delno financira Evropska unija, in sicer iz Evropskega socialnega sklada

Gimnazija Bežigrad Peričeva Ljubljana OPERACIJSKI SISTEM Predmet: informatika

Microsoft Word - CNC obdelava kazalo vsebine.doc

Spoznajmo PowerPoint 2013

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc)

INFORMATOR BIROKRAT 1/2011

Strojna oprema

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

Slide 1

Microsoft Word - avd_vaje_ars1_1.doc

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

VAJE RID 1 (4), program PTI, šol

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

Delavnica Načrtovanje digitalnih vezij

Nameščanje Adopt Open Java Development Kit 8

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje:

Orodje za izvoz podatkov

Navodila za uporabo Mini prenosna HD kamera s snemalnikom

Nameščanje Adopt Open Java Development Kit 8

PowerPoint Presentation

Navodila Trgovina iCenter

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC

PowerPointova predstavitev

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se

PowerApps

PKP projekt SMART WaterNet_Opis

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf

Microsoft Word - M docx

Šolski center Celje Gimnazija Lava IZDELAVA SPLETNEGA BRSKALNIKA Raziskovalna naloga Avtor David Simunič, 2. e Mentor Tomislav Viher, univ. dipl. org.

Microsoft Word - M docx

Slide 1

Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavč

Microsoft PowerPoint - Standardi znanja in kriteriji ocenjevanja 2 r.ppt [Samo za branje] [Združljivostni način]

POMOČ PREDSTAVITEV EKOSKLADOVNICE UPORABLJENA TERMINOLOGIJA REGISTRACIJA V EKOSKLADOVNICO PRIJAVA V EKOSKLADOVNICO OBJAVA PRISPEVKA ISKANJE PRISPEVKOV

Programska sprememba oddelka šole

VSEBINSKI NASLOV SEMINARSKE NALOGE

NAVODILA AVTORJEM PRISPEVKOV

INTERAKTIVNE REŠITVE PROMETHEAN

NAJRAJE SE DRUŽIM S SVIČNIKOM, SAJ LAHKO VADIM ČRTE IN KRIVULJE, PA VELIKE TISKANE ČRKE IN ŠTEVILKE DO 20. Preizkusite znanje vaših otrok in natisnite

DES

Brezplačno učenje zaposlenim in brezposelnim od 2018 do 2022 omogočata Ministrstvo za izobraževanje, znanost in šport ter Evropska unija iz Evropskega

Osnove matematicne analize 2018/19

Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C#

Microsoft Word - M docx

Adaptive Sound Technology Dodatek

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Slide 1

PowerPointova predstavitev

Microsoft Word - M doc

Podatkovni model ER

Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnov

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik

RAČUNALNIŠTVO VARNOSTNA KOPIJA IN SLIKA DISKA Aleš Ovsenek Uvajanje novih izobraževalnih programov v srednjem poklicnem in strokovnem izobraževanju s

Microsoft Word - CNR-MPV2 Quick Guide_SI

Microsoft Word - Seštevamo stotice.doc

FOR SMARTER PEOPLE TAKO SE VLOMI PREPREČUJEJO DANES REHAU Smart Guard System plus preventivna protivlomna zaščita WINDOWS. REINVENTED FOR MODERN LIFE.

INFORMATOR BIROKRAT 1/2011

PowerPointova predstavitev

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo

1. Distributivni elementi.indd

NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta

Chapter 1

Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje

SETCCE Uporabniška navodila za namestitev in upravljanje komponente SETCCE proxsign v2.0.5 za MAC OS X [Nova generacija komponent SETCCE proxsign ] Id

DSI 2019

Datum in kraj

11 Barvni izvlečki-HELENA TGP06

Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, m

Slikovne transformacije_2017_18_DKT

Geometrija v nacionalnih preverjanjih znanja

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Blaž Roženbergar Upravljanje trgovskega blaga z značkami RFID DIPLOMSKO DELO VISOKOŠOLS

Diapozitiv 1

Predlog stališča Republike Slovenije

Diapozitiv 1

CODEKS IP KAMERA

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

Zadeva: Ponudba

EndNote Basic Online navodila za uporabo Vsebina 1 Kaj je EndNote Online? Dostop in prijava Ustvarjanje računa Uporaba

COBISS3/Medknjižnična izposoja

Za vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane.

Excel 2016

Microsoft Word - eDenar - navodila za uporabo osebnega portala clana doc

ISOFT , računalniški inženiring

Microsoft Word - A-3-Dezelak-SLO.doc

NAVODILA ZA IZPOLNJEVANJE OBRAZCA

seminarska_naloga_za_ev

Avtomatizirano modeliranje pri celostnem upravljanju z vodnimi viri

BiokemInfo - Pregled funkcij

Oblikovanje in razvijanje spletnih strani

Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / Uradni lis

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Vito Resnik RAZVOJ APLIKACIJE ZA NAROČANJE IN SPREMLJANJE MERITEV IZDELK

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n

Microsoft PowerPoint - petek_16_30_B_Zabret [Read-Only] [Compatibility Mode]

Transkripcija:

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Marko Deželak UPORABA TEHNOLOGIJE OPTIČNEGA PREPOZNAVANJA ZNAKOV V APLIKACIJAH WINDOWS 10 Diplomsko delo Maribor, avgust 2017

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Marko Deželak UPORABA TEHNOLOGIJE OPTIČNEGA PREPOZNAVANJA ZNAKOV V APLIKACIJAH WINDOWS 10 Diplomsko delo Maribor, avgust 2017

UPORABA TEHNOLOGIJE OPTIČNEGA PREPOZNAVANJA ZNAKOV V APLIKACIJAH WINDOWS 10 Diplomsko delo Študent: Študijski program: Smer: Mentor: Marko Deželak Visoko šolski strokovni študijski program Informatika in tehnologije komuniciranja Razvoj informacijskih sistemov doc. dr. Domen Verber, univ. dipl. inž. rač. In inf. i

ii

ZAHVALA Rad bi se zahvalil mentorju doc. dr. Domnu Verberju za nasvete in pomoč pri nastajanju diplomske naloge. Iskreno se zahvaljujem tudi staršem, prijateljem in bratom za nenehno podpro. iii

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 Ključne besede: optično prepoznavanje znakov, Windows 10, Windows 10 aplikacije UDK: 004.932.75'1(043.2) Povzetek V začetku diplomskega dela smo predstavili tehnologijo optičnega prepoznavanja znakov, opisali njene začetke ter podrobneje predstavili postopke in metodo prepoznavanja znakov. V nadaljevanju smo se osredotočili na operacijski sistem Windows 10, njegovo digitalno trgovino Windows Store in aplikacije namenjene optični prepoznavi znakov, katere smo pregledali in preizkusili njihovo delovanje. Nato smo z orodjem Visual Studio izdelali aplikacijo, v njej predstavili delovanje brezplačnih programskih knjižnic jih testirali in primerjali rezultate uspešnosti z obstoječimi rešitvami. iv

Use of optical character recognition technology within Windows 10 applications Ključne besede: optical cahracter recognition, Windows 10, Windows 10 applications, OCR UDK: 004.932.75'1(043.2) Abstract At the beginning of the thesis, we introduced optical character recognition technology, described its beginnings, and presented in more detail the procedures and method of character recognition. In the following work, we focused on operating system Windows 10, Windows Store and its applications for optical character recognition which we reviewed and tested for their performance. Then, with Visual Studio, we created an application and presented free libraries that enable optical character recognition. At the end, we compared results with the known solutions. v

KAZALO 1 UVOD... 1 2 POSTOPEK OPTIČNEGA PREPOZNAVANJA ZANKOV... 3 2.1 Predobdelava slike... 4 2.1.1 Zasuk dokumenta... 5 2.1.2 Odstranjevanje šuma na sliki... 6 2.1.3 Pretvorba v črno belo sliko... 6 2.2 Segmentacija besedila... 7 2.2.1 Metoda štetja slikovnih pik... 7 2.2.2 Metoda histograma... 8 2.3 Prepoznavanje znakov... 9 2.4 Obdelava prepoznanih znakov... 11 3 PREGLED OBSOTJEČIH REŠITEV... 12 3.1 LEADTOOLS OCR... 14 3.2 Free OCR Software... 15 3.3 Office Lens... 16 3.4 Photo Scan... 17 3.5 Photron Image Translator... 18 3.6 Text Extract... 19 3.7 Testiranje delovanja aplikacij... 20 3.8 Rezultati optičnega prepoznavanja... 21 4 UPORABA KNJIŽNIC ZA PREPOZNAVANJE ZNAKOV V.NET OGRODJU. 25 4.1 Uporaba knjižnic v aplikaciji... 26 4.1.1 Prepoznava znakov z Windows.Media.Ocr... 28 4.1.2 Prepoznava znakov z Asprise OCR... 29 4.1.3 Prepoznava znakov z IronOcr... 30 4.1.4 Prepoznava znakov z Tessarect OCR... 31 4.2 Testiranje aplikacije... 32 4.3 Primerjava uspešnosti... 34 5 SKLEP... 36 6 VIRI... 37 vi

7 PRILOGE... 40 KAZALO SLIK SLIKA 2.1 PRIKAZ PISAVE OCR-A IN OCR-B... 3 SLIKA 2.2 POSTOPEK OPTIČNEGA PREPOZNAVANJA ZNAKOV... 4 SLIKA 2.3 PRIKAZ NEPORAVNANE VRSTICE BESEDILA... 5 SLIKA 2.4 PRETVORBA V ČRNO BELO SLIKO... 7 SLIKA 2.5 PRIKAZ DELOVANJA IZPOPOLNJENEGA ALGORITMA... 8 SLIKA 2.6 PREPOZNAVANJE VRSTIC Z METODO HISTOGRAMA... 9 SLIKA 2.7 POSTOPEK PRESLIKAVE V BINARNO TABELO... 10 SLIKA 3.1 DELEŽ UPORABNIKOV OPERACIJSKIH SISTEMOV... 12 SLIKA 3.2 MENI APLIKACIJE LEADTOOLS OCR... 14 SLIKA 3.3 MENI (A9T9) FREE OCR APLIKACIJE... 15 SLIKA 3.4 MENI APLIKACIJE OFFICE LENS... 16 SLIKA 3.5 MENI APLIKACIJE PHOTO SCAN... 17 SLIKA 3.6 FUNKCIONALNOSTI APLIKACIJE PHOTRON IMAGE TRANSLATOR... 18 SLIKA 3.7 MENI APLIKACIJE TEXT EXTRACT... 19 SLIKA 3.8 TESTNE SLIKE... 20 SLIKA 4.1 MENI APLIKACIJE... 27 SLIKA 4.2 POVPREČEN USPEH PREPOZNAVANJA ZNAKOV KNJIŽNIC (ZELENO) IN APLIKACIJ (MODRO)... 35 SLIKA 4.3 USPEŠNOST PREPOZNAVANJA TESTNIH SLIK... 35 vii

KAZALO TABEL TABELA 3.1 REZULTATI PREPOZNAVANJA APLIKACIJE LEADTOOLS OCR... 21 TABELA 3.2 REZULTATI APLIKACIJE (A9T9) FREE OCR SOFTWARE... 22 TABELA 3.3: REZULTATI PREPOZNAVANJA APLIKACIJE OFFICE LENS... 23 TABELA 3.4: REZULTATI PREPOZNAVANJA APLIKACIJE PHOTO SCAN... 23 TABELA 3.5: REZULTATI PREPOZNAVANJA APLIKACIJE PHOTRON IMAGE TRANSLATOR... 24 TABELA 3.6: REZULTATI PREPOZNAVE APLIKACIJE TEXT EXTRACT... 24 TABELA 4.1 REZULTATI USPEŠNOSTI WINDOWS.MEDIA.OCR KNJIŽNICE... 32 TABELA 4.2 USPEŠNOST KNJIŽNICE WINDOWS.MEDIA.OCR... 33 TABELA 4.3 REZULTATI USPEŠNOSTI IRONOCR... 33 TABELA 4.4: REZULTATI PREPOZNAVE TESSERACT PROGRAMSKE KNJIŽNICE... 34 viii

SEZNAM KRATIC OCR Optical Character Recognition OCR A - Optical Character Recognition Font Type A OCR B - Optical Character Recognition Font Type B OS Operating System UWP Universal Windows Platform MS Microsoft MIRC Magnetic Ink Character Recognition SDK Software Development Kit PDF Portable Document Format XAML extensible Application Markup Language ix

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 1 Optično prepoznavanje znakov (angl. Optical character recognition) je postopek prepoznavanja znakov z slike ter njihova pretvorba v računalniku znano besedilo. Omogoča nam avtomatski vnos podatkov z natisnjenih, papirnatih medijev v digitalno obliko. Prve ideje o optičnem zajemanju znakov so se že pojavile leta 1912, ko je Edmund Fournier d'albe ustvaril prvo napravo, ki je bila sposobna prebrati znake. Kasneje v letu 1952 sta David H. Shepard in Harvey Cook Jr. izumila stroj, ki je bil sposoben branja znakov ter tolmačenja Morsejeve kode [1], vendar je bilo delovanje počasno in zamudno. Od takrat se je tehnologija venomer posodabljala, trenutni napredne rešitve omogočajo hitro in dokaj točno prepoznavo različnih tipov pisave. Izdaja prve različice operacijskega sistema podjetja Microsoft imenovane MD-DOS, je bila v letu 1985, od takrat je slednje podjetje vodilno v distribuciji in razvijanju operacijskih sistemov. Njihov zadnji in nam zanimiv produkt se imenuje Windows 10, katerega značilnost je združena platforma, ki deluje na osebnih, prenosnih in tabličnih računalnikih kot tudi pametnih telefonih, igralni konzoli ter drugih Microsoftovih napravah. Z istim namenom so predstavili univerzalno Windows platformo namenjeno razvijanju aplikacij, ki z minimalno spremembo kode, delujejo na različnih napravah. Namen diplomske naloge je spoznati uporabo tehnologije optičnega prepoznavanja znakov, preveriti uspešnost delovanja obstoječih brezplačnih aplikacij in programskih knjižnic v operacijskem sistemu Windows 10. Osredotočili se bomo na tipe tehnologij prepoznave znakov, ki se ukvarjajo z znanimi tipi pisave. V prvem poglavju diplomske naloge bomo predstavili delovanje in uporabnost tehnologije optičnega prepoznavanja znakov in opisali njen namen ter natančneje prikazali postopek delovanja. V drugem poglavju se bomo posvetili operacijskem sistemu Windows 10, ga na kratko opisali in se seznanili z njegovimi funkcionalnosti. Prav tako si bomo ogledali delovanje digitalne trgovine Windows Store ter z njo pridobili nekaj brezplačnih aplikacijskih rešitev 1

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 namenjene za operacijski sistem Windows 10 in jih predstavili. Slednje rešitve bomo nato testirali in preizkusili kako uspešno optično prepoznajo znake. V zadnjem delu diplomske naloge se bomo seznanili z rešitvami brezplačnih programskih knjižnic sodobne tehnologije optičnega prepoznavanja znakov in jih natančneje opisali. Prikazali bomo njihovo delovanje, v prototipni aplikaciji ustvarjeni v orodju Visual Studio 2017. V aplikaciji bomo predstavili primere uporabe programskih knjižnic optičnega prepoznavanja znakov. Nato bomo rešitve v izdelani aplikaciji testirali in njihove uspešnosti delovanja primerjali z aplikacijami v drugem poglavju. Poskušali bomo ugotoviti na kakšne načine bi lahko sedanje rešitve izboljšali in kakšne so omejitve sodobnih algoritmov optičnega prepoznavanja znakov. 2

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 2 POSTOPEK OPTIČNEGA PREPOZNAVANJA ZANKOV Optično prepoznavanje znakov uporabljamo na dva različna načina, uporaba brez sprotne prepoznave (angl. Offline recognition) ter z sprotno prepoznavo (angl. Online recognition). Slednja se uporablja za avtomatično pretvorbo rokopisa v digitalno obliko. Delujejo samo na temu namenski napravah, ki ob ročnem pisanju besedila samodejno pretvarjajo znake v računalniku znan jezik. Ne sprotne tehnologije se ukvarjajo z optičnem prepoznavanjem znakov na slikah, ki so bile ustvarjene s pomočjo fotoaparata ali kakšne druge naprave za zajem slik. Temeljijo na principu, da so znaki prostorsko urejeni ter se ne prekrivajo kot pri pisani pisavi, kjer ima vsak človek drugačen slog pisanja zato je prepoznavanje znakov težavno [1] [2]. Uspešnost pretvorbe znakov z slike v digitalno obliko merimo z procentom točnosti, ta nam prikaže kako dobro so bili določeni znaki v sliki prepoznani. Trenutne tehnologije 100% točnosti prepoznavanja še ne morejo zagotoviti, čeprav se nekateri programi zelo približajo željenemu rezultatu. Da bi povečali uspeh pravilno prebranih znakov so leta 1968 patentirali dva različna tipa pisave, OCR-A in OCR-B slika 2.1. S pomočjo natančno določenega razmika, velikosti pisave ter oblike znakov, ki se med sabo dovolj razlikujejo, omogočajo večjo uspešnost pri digitalizaciji besedila. Obe pisavi so nekaj let kasneje standardizirali. Prav tako pa se je leta 1995 standardiziralo pisavo MIRC (angl. magnetic ink character recognition) za potrebe bančništva po pravilno prebranih znakih. Deluje na principu namagnetenega tiskanja, vsak znak ima ob tisku svoj magnetni vzorec, katerega lahko nato namenski čitalec prebere kar z 99.999% uspešnostjo [3]. Slika 2.1 Prikaz pisave OCR-A in OCR-B 3

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 Ker pa običajno nimamo izbere nad tipom pisave besedila, ki ga želimo prevesti v digitalno obliko se uporablja več različnih postopkov, da je uspešnost pretvorbe besedila čim uspešnejša. Večina modernih OCR aplikacij se za večji uspeh prepoznavanje poslužuje postopka na sliki 2.2, ki nas privede do natančnejšega uspeha. Glavni koraki za uspešno transformacijo znakov so, kvalitetna vhodna slika, predobdelava slike, segmentacija slike v posamezne dele, natančno prepoznavanje segmentarnih delov v znake ter obdelava dobljenega besedila. Vhodna slika Predobdelava Segmentacija Prepoznavanje Obdelava Izhodno besedilo Slika 2.2 Postopek optičnega prepoznavanja znakov 2.1 Predobdelava slike Za uspešno prepoznavanje znakov, potrebujemo kvalitetno sliko, ki vedno ni mogoča. Na razpolago imamo več postopkov kako izboljšati kakovost izbrane slike. Vendar moramo biti vseeno pozorni, da je slika zajeta čim bolj pod pravim kotom, to posebno velja pri fotografiranju. Napačno horizontalno postavitev slike, rešujemo s pomočjo algoritmov. 4

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 2.1.1 Zasuk dokumenta Večina metod ki nam omogočajo horizontalen ali vertikalen zasuk slike se poslužuje Houghove transformacije. Omogoča nam, da vrstice besedila v sliki prepoznamo kot horizontalne črte s katerimi lahko izračunamo potreben kot obrata besedila, da ga vodoravno poravnamo [4]. S pomočjo Hessejeve normalne [12] oblike pridobimo enačbo (1) s katero določimo razdaljo znaka v poševni vrstici ter z njim najbližjo točko v koordinatnem izhodišču. r = x cos θ + y sin θ (1) Kot je prikazano na sliki 2.3. točka r predstavlja najkrajšo razdaljo od izvora do točke na ravni črti (vrstici besedila). θ (theta) predstavlja kot med osjo x in razdaljo r, ki nam pove za koliko potrebujemo zavrteti sliko, da jo vodoravno poravnamo. Slika 2.3 Prikaz neporavnane vrstice besedila 5

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 2.1.2 Odstranjevanje šuma na sliki Predvsem slike zajete z pomočjo digitalnih fotoaparatov pogosto zajamejo šum, ki se pojavi v obliki ne za željenega spreminjanje barvnih odtenkov. Poznamo več različnih tipov šuma. Najbolj znan med njimi je sol in poper. Lahko ga opazimo takrat, ko so določene barvne pike na sliki izrazito drugačne barve od njegovih sosednjih pik. Takšne motnje po navadi povzroči prah v notranjosti leč fotoaparata ali okvarjeni svetlobni receptorji [6]. Za odpravo šuma imamo na voljo več različnih metod. Najbolj zanesljiva metoda za odpravljanje šuma je srednji filter (angl. Mediana filter). S pomočjo filtra slikovni točki, ki se preveč razlikuje od svojih sosednjih pik izračunamo in določimo srednjo vrednost odtenka barve okoliških slikovnih pik [7]. 2.1.3 Pretvorba v črno belo sliko Najpomembnejši korak pri predobdelavi slike namenjene za optično prepoznavanje znakov je pretvorba v črno in belo (angl. binarno) sliko. Kajti velika večina algoritmov lahko prepozna znak smo, če je ta v binarnem zapisu. Namen je odstraniti vse ne zaželene komponente ter tako ločiti besedilo z ozadjem. Uspešnost transformacije v binarno fotografijo, je v veliki meri pogojena z kakovostjo slike. Najpreprostejša metoda za pretvorbo v črno belo sliko je določitev mejne vrednosti ter nato razvrstitev pik nad izbrano vrednostjo v črno barvo vse ostale pa v belo. Največja težava je izbira pravilne meje, kajti v določenih primerih je nemogoče izbrati samo eno mejo za celotno sliko. V primeru, da smo izbrali slabo mejo lahko pri pretvorbi ne zaželeno zajamemo znake skupaj z ozadjem, kar jih naredi nemogoče za uspešno prepoznavo, kot lahko opazimo na sliki 2.4. Za dosego optimalnega rezultat je priporočljivo, da sliko razdelimo na več delov ter nato vsakemu delu določimo svojo mejo [8]. 6

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 Slika 2.4 Pretvorba v črno belo sliko 2.2 Segmentacija besedila Pridobivanje znaka iz besedila je ključen korak v optičnem prepoznavanju, kajti uspešna razdrobitev besedila je velikega pomena za uspeh prepoznavanja pravilnega znaka. Segmentacija je kvalitetna takrat, ko je slika primerna za obdelavo, priporočljivo je, da se izvedejo vsi prej opisani koraki predobdelave slike. Razbijanja besedila se deli na tri ravni, razčlenjevanje vrstic, razčlenjevanje besed ter razčlenjevanje znakov. Slednja raven ja za prepoznavanje znakov obvezna, medtem ko prejšnji ravni uporabljamo za pomoč [9]. Osredotočili se bomo na metodi štetja slikovnih pik ter histograma. 2.2.1 Metoda štetja slikovnih pik Predpostavljamo, da se metoda štetja pik izvaja nad binarno sliko, kjer se intenzivnost barve slikovne pike lahko preizkusi z dvojiškim sistemom 0 ali 1. (0 predstavlja črno bravo, 1 je bela barva). Z algoritmom seštejemo vrednost vseh pik v vrsticah, če so vse enake vrednosti ugotovimo, da je vrstica enobarvnih pik del prostora med dvema vrsticama besedila. Koliko belih praznih vrstic zaporedoma potrebujemo predstavlja razmak vrstic, določimo z mejno vrednostjo ter nato preverjamo, če je število vrstic večje od mejne vrednosti, v slednjem primeru razčlenimo besedilo v vrstico. 7

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 Mejno vrednost pridobimo z štetjem belih vrst med prvo in drugo vrstico besedila. Slabost slednjega algoritma se opazi v primeru, ko se v prvi vrstici besedila pojavijo črke 'j', 'g' v drugi 't', 'k' ter so razmik med vrsticama premajhni, kar povzroči, da se znaki stikajo in ne moremo določiti prazne vrstice slikovnih pik med dvema vrstama besedila. Težavo lahko rešimo s prilagoditvijo algoritma, da dopusti minimalno vrednost črnih pik v beli vrstici. Nadaljnje ravni segmentacije dosežemo po enakem postopku z razliko, da tokrat iščemo bele vrstice vertikalno med znaki, na že razdrobljeni vrstici besedila, kot je prikazano v sliki 2.5 [10] [11]. Slika 2.5 Prikaz delovanja izpopolnjenega algoritma 2.2.2 Metoda histograma Histogrami se pogosto uporabljajo pri analizi slike predvsem zaradi kompaktne predstavitve velike količine podatkov ter lažjega sklepanja o njihovih lastnostih, ki jih pridobimo z pregledom nad vedenjem histograma. Delovanje algoritma histograma bomo za optimalne rezultate predstavili na binarni sliki z besedilnimi znaki v vodoravnem položaju. Algoritem temelji na izgradnji histograma z pomočjo štetja posameznih slikovnih pik v vsaki vrstici od zgoraj navzdol. Izračunan histogram nam z intervali maksimalne vrednosti prikaže vrstico besedila, z minimalnimi vrednostmi ugotovimo položaj prostora med vrsticam kot je vidno na sliki 2.6. Zaradi šuma, slabe pretvorbe slike ali tipa pisave se lahko histogram popači. Za odpravljanje takšnih napak se v algoritmu pogosto izračuna povprečna vrednost vrstici besedila in praznih prostorov. Ob znanih vrednostih se v histogramu določijo mejene 8

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 vrednosti, ki predstavljajo zadostno število pik v vrstici, da lahko iz slike segmentiramo vrstico besedila. Za pridobivanje znakov iz razbranih vrstic postopek ponovimo, vendar tokrat histogram izračunamo vertikalno, saj seštevamo pike v stolpcih. Rezultat histograma je podoben, le da tokrat maksimalne vrednosti predstavljajo znak, minimalne pa prazen prostor med njimi, na takšen način lahko uspešno prepoznamo znake iz slike [13]. Slika 2.6 Prepoznavanje vrstic z metodo histograma 2.3 Prepoznavanje znakov Ko po segmentaciji uspešno pridobimo znake iz slike, je naslednji korak v procesu njihova klasifikacija v abecedne, numerične ali ostale znake. Poznamo več različnih metod prepoznavanja znakov, mi se bomo osredotočili na metodo primerjanja z predlogo znaka. Algoritem deluje na primerjanju pridobljenega znaka z že znanim, za katerega je zahtevano, da je shranjen v podatkovni bazi programa, kajti drugače znaka ne moremo uspešno primerjati. Primerjanje znakov je relativno enostaven način prepoznavanja, zato je to eden bolj priljubljenih procesov. Njihovo uporabnost predvsem omejuje računska moč, saj je 9

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 lahko identifikacija velikih predlog dolgotrajen postopek. Proces primerjanja je sestavljen iz več korakov: - Izbor slike znaka, ki smo ga pridobili s pomočjo segmentacije - Preslikava znaka v velikost predloge - Izvajanje meritve ujemanja z predlogami - Premerjanje točnosti ujemanja med predlogami - Shranjevanje predloge z največjim odstotkom ujemanja. Ko uspešno pridobimo sliko znaka po prej opisanih metodah, je naslednji korak njegovo spreminjanje velikosti, ki se mora ujemati z velikostjo že znanih znakov v podatkovni bazi programa. Ko sta iskan znak in njegova predloga enake velikosti, sledi transformacija slike znaka v binarno matriko prikazano na sliki 2.7. S slike je razvidno, da z enicami označimo nahajanje znaka na sliki z ničlami pa prazen prostor. S tem pridobimo matriko bitov, katero lahko nato matematično primerjamo z že znanimi znaki. Slika 2.7 Postopek preslikave v binarno tabelo Računanje ujemanja znakov se lahko izvede z pomočjo različnih algoritmov, mi se bomo osredotočili na formulo navzkrižne korelacije (2) (angl. Cross-correlation) [14] s katero izračunamo vsoto ustreznih parnih vrednostih z slike ter predloge. r(m1, m2) = m1(x, y) m2(x, y) x,y (2) 10

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 V formuli m1 predstavlja matriko pridobljenega znaka, m2 pa matriko znaka s predloge. Lokacijo bita v vrstici matrike predstavlja x, stolpec je označen z y. Po opravljenem računanju se izbere predloga znaka, ki ima z največjo vsoto ujemanja s sliko znaka, izbrana predloga se obravnava kot prepoznan znak ter se shrani. 2.4 Obdelava prepoznanih znakov Obdelava prepoznanih znakov je namenjen povečanju prepoznavnosti besedila. Cilj je odkrivanje in popravljanje slovničnih napak v izhodnem dokumentov, ki je sestavljen iz prepoznanih znakov. Točnost besed v tem dokumentu povečamo z uporabo jezikovnih slovarjev, s katerimi lahko primerjamo prebrano besedo ter ugotovimo njeno ustreznost. Za pravilnejše rezultate uporabljamo kombinacijo jezikovnih ter tehničnih slovarjev. V primeru, če besedilo vsebuje besede, ki se ne nahajajo v slovarju, je primerjanje brezpredmetno [15]. Uspeh prepoznavanja dodatno povečamo z uporabo sosedske analize (angl. Nearest neighbor search), s katero iščemo besedne zveze, ki se najpogosteje pojavljajo skupaj. Z metodo lahko statistično predvidimo najverjetnejše zaporedje ter uporabo besednih zvez [16]. Za uspešnejše delovanje algoritma se opravi predhodna analiza besedil izbranega jezika, s katerem preverjamo ustreznost besednih zvez. 11

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 3 PREGLED OBSOTJEČIH REŠITEV Pregledali bomo obstoječe rešitve, ki temeljijo na operacijskem sistemu Windows 10. Slednjega je razvilo podjetje Microsoft ter ga predstavilo trgu 29. julija 2015, posebnost izdaje je bila, odločitev družbe Microsoft, da ga bodo prvič v zgodovini ponudili kot brezplačno nadgradnjo vsem, ki imajo predhodne različice operacijskih sistemov Windows, verzije 7, 8, in 8.1. To se je izkazalo za uspešno taktiko, kot lahko vidimo na sliki 3.1 je po raziskavah podjetja StatCounter [17] operacijski sistem Windows 10 z 36,60% deležem drugi najbolj uporabljen OS na osebnih računalnikih v začetku leta 2017. 50,00% 45,00% 40,00% 35,00% 30,00% 25,00% 20,00% 15,00% 10,00% 5,00% 0,00% Kategorija 1 Windows 7 Windows 10 mac0s (vse verzije) Windows 8.1 Windows XP Windows 8 Slika 3.1 Delež uporabnikov operacijskih sistemov Windows 10 nadaljuje Microsoftovo vizijo enega OS na vseh napravah, kajti uporablja se na osebnih, prenosnih, tabličnih računalnikih in mobilnih napravah. Nov operacijski sistem je implementiral nove funkcionalnosti, med katerimi je najbolj znamenita ponovna vpeljava startne vrstice, kar je razveselilo mnoge uporabnike, saj so jo pri prejšnji verziji izpustili. Nadgradili so uporabniški vmesnik, da se lažje prilagaja napravi, ki ga uporablja in je prijaznejši za uporabo. Posodobili so avtomatično nadgradnjo sistema, ki sedaj ne vključuje samo varnostne popravke, ampak tudi nove funkcionalnosti. Dodali so nov spletni brskalnik Microsoft Edge, posodobili osebnega asistenta Cortano in izboljšali varnost ter sistemske zahteve [18] [19]. Ob prihodu novega operacijskega sistema je Microsoft nadgradil 12

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 platformo za izdelovanje aplikacij imenovano Metro-style apps, predstavljeno z Windowsom 8 in jo preimenoval v univerzalno Windows platformo. Njen namen je izdelovanje kompatibilne aplikacije z vsemi napravami, ki uporabljajo operacijski sistem Windows. Primeri takšnih naprav so osebni in tablični računalniki, pametni telefoni, igralna konzola XboX ter interaktivna bela tabla Surface Hub. Omogoča nam izgradnjo aplikacije, ki je prilagodljiva na zaslon naprave in vrste interakcijskega vhodnega modela, kot je miška, tipkovnica, zaslon na dotik, igralni plošček in digitalno pisalo [27]. Windows Store Aplikacije, ki jih bomo preverjali, se nahajajo v trgovini podjetja Microsoft imenovani Windows Store, namenjana je distribuciji brezplačnih in plačljivih digitalnih izdelkov. Uporabnikom je bila prvič dostopna ob izdaji operacijskega sistema Windows 8 leta 2012. Od prihoda Windowsa 10 služi kot enotna prodajalna za vse platforme. Vsak izdelek v trgovini mora biti pred distribucijo odobren s strani podjetja Microsoft, ki izdaja splošne smernice, o izgledu in primernosti aplikacije. Odobrene aplikacije lahko razvijalec ponudi v digitalni trgovini vsem potrošnikom zastonj ali za določeno ceno. V slednjem primeru si družba Microsoft lasti 30% delež vrednosti prodanega izdelka [20]. Osredotočili se bomo na brezplačne aplikacije najdene v Windows trgovini. 13

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 3.1 LEADTOOLS OCR Aplikacijo prikazano na sliki 3.2 je razvilo podjetje LEAD Technologies inc. z namenom predstavitve njihovega razvojnega orodja LEADTOOLS. Namestimo jo lahko na osebni in tablični računalnik ali pametni telefon. Omogoča nam optično branje znakov s slik in dokumentov tipa PDF, PDF/A, DOC in XLS. Prav tako nudi obdelavo pridobljenih podatkov v angleškem jeziku. Rezultate branja lahko shranimo dokument tipa PDF ali tekst [21]. Iz slike 3.2 je razvidno, da ima aplikacija naslednje funkcionalnosti. Funkcionalnosti aplikacije: - Optično prepoznavanje znakov - Povečanje/zmanjšanje vhodnega dokumenta/slike - Prepoznavanje več straneh ali točno določene cone - Ročno poravnavo slike/dokumenta Slika 3.2 Meni aplikacije LEADTOOLS OCR 14

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 3.2 Free OCR Software Odprtokodna rešitev namenjena optičnemu prepoznavanju znakov, je bila ustvarjana v podjetju a9t9 software leta 2015. Podpira prepoznavo PDF dokumentov ter slike tipa JPG, JPEG in PNG maksimalne velikosti 2600 x 2600 slikovnih pik. Uporabljamo jo lahko samo na osebnih računalnikih [22]. Vsebuje sedem različnih funkcionalnosti prikazanih na sliki 3.3. Funkcionalnosti aplikacije: - Dodajane slik/dokumentov - Optično prepoznavanje znakov - Hkratno preverjanje več strani dokumenta - Izbira jezika obdelave prepoznanih znakov - Shranjevanje rezultata v dokument tipa tekst ali doc. Slika 3.3 Meni (a9t9) Free OCR aplikacije 15

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 3.3 Office Lens Aplikacija iz slike 3.4 je v lasti podjetja Microsoft namenjena je obdelovanju slike ter njeno pretvorbo v PDF, Word, ali PowerPoint dokument. Dostopna je na osebnem/tabličnem računalniku, pametnem telefonu in HoloLens očalih [23]. Nudi nam možnost zajemanja fotografije s pomočjo kamere na uporabljeni napravi ali uvoz slike z lokalne shrambe. Sliko lahko nato pretvorimo v enega izmed prej naštetih dokumentov, v primeru pretvorbe v Wordov dokument, se nad sliko izvede optično prepoznavanje znakov. Funkcionalnosti aplikacije: - Dodajane slik/dokumentov - Zajemanje slike - Manipuliranje izgleda slike - Shranjevanje slike/dokumenta - Sinhronizacija z OneNote ali OneDrive - Optično prepoznavanje znakov Slika 3.4 Meni aplikacije Office Lens 16

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 3.4 Photo Scan Photo scan aplikacijo prikazano na sliki 3.5 je v letu 2016 razvilo podjetje Define studio. Uporablja se lahko na osebnih in tabličnih računalnikih ter pametnih telefonih. Podpira sprotno uporabo kamere na napravi in omogoča uvoz slik. Nudi nam avtomatsko prepoznavo znakov z izbrane slike, pretvorbo besedila v govor, ter shranjevanje prepoznanih znakov v dokument [24]. Funkcionalnosti aplikacije: - Zajemanje/dodajanje slik - Spreminjanje velikosti slike - Optično prepoznavanje znakov - Branje besedila v govor - Shranjevanje prebranega besedila v dokument Slika 3.5 Meni aplikacije Photo Scan 17

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 3.5 Photron Image Translator Haseeb Shah je avtor aplikacije s slike 3.6 namenjena optičnem prepoznavanju znakov. Uporabljamo jo lahko na napravah z operacijskim sistemom Windows 10 ali Windows 10 Mobile. Nudi nam možnost zajemanja slike s pomočjo kamere na napravi ali uvoz slike tipa JPG, JPEG, PNG, BMP iz lokalne shrambe [25] Pridobljeno besedilo lahko prevedemo v več kot 50 različnih jezikov. Funkcionalnosti aplikacije: - Zajemanje/dodajanje slik - Optično prepoznavanje znakov - Branje besedila v govor - Prevajanja besedila Slika 3.6 Funkcionalnosti aplikacije Photron Image Translator 18

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 3.6 Text Extract Aplikacijo Text Extract je razvilo podjetje Medienstudio, namenjeno za uporabo na osebnih računalnikih in pametnih telefonih. Omogoča optično prepoznavanje znakov s slik tipa:.jpg, JPEG, PNG in BMP [31]. Meni aplikacije lahko vidimo na sliki 3.7. Funkcionalnosti aplikacije: - Dodajanje slik - Optično prepoznavanje znakov - Zajem prepoznanega besedila Slika 3.7 Meni aplikacije Text Extract 19

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 3.7 Testiranje delovanja aplikacij Delovanje optičnega prepoznavanja znakov vsake izbrane aplikacije smo preizkusili s šestimi različnimi primeri prikazanih na sliki 3.8. Da bi lahko preveril uspešnost optičnega prepoznavanja znakov pod različnimi pogoji, smo uporabili naslednje primere: 1.) Besedilo napisano v slovenskem jeziku z tipom pisave OCR-A Extended 2.) Angleško besedilo z OCR-A Extended pisavo 3.) Slovensko besedilo v pisavi Calibri 4.) Angleško besedilo v pisavi Calibri 5.) Skenirana kombinacija slovenskega ter angleškega besedila. 6.) Slikano slovensko in angleško besedilo. Slika 3.8 Testne slike Primeri 1,2,3,4 so zaslonsko zajete slike, predstavljajo idealne pogoje za delovanje OCR aplikacije. Slika 5 je bila storjena s pomočjo skenerja na več funkcijski napravi HP-3530, zadnja testna slika je bila zajeta v slabši kakovosti s fotoaparatom mobilnega telefona Samsung J7. 20

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 3.8 Rezultati optičnega prepoznavanja Vsaka aplikacija je bila preizkušena na prej omenjenih šest različnih načinov. Pri vsaki testirani sliki, nas je zanimalo število besed vhodnega besedila. Koliko besed je prebrala aplikacija ter število pravilno prebranih besed. Pričakovali smo slabe rezultate prepoznavanja znakov s fotografije zajete z mobilnim telefonom. LEADTOOLS OCR Aplikacija je imela težave pri prepoznavanju znakov, ki uporabljajo šumnike in branju besedil slovenskega jezika, videno na tabeli 3.1. Največji razlog za takšne rezultate je ne uporaba slovenskega leksikona pri obdelavi pridobljenih znakov. Uporabljajo lastno razvit algoritem prepoznave znakov. Slike prepoznavanja znakov so vidne v prilogi A Tabela 3.1 Rezultati prepoznavanja aplikacije LEADTOOLS OCR Število besed / tip slike Vhodne besede Prebranih besed Pravilnih besed Uspešnost prepoznavanja OCR-A / Slo. 77 88 48 62,3% OCR-A / Ang. 103 108 95 92,2% Calibri / Slo. 77 78 55 71,4% Calibri / Ang. 103 103 102 99% Skenirano 82 83 73 89% Slikano 82 51 2 2,4% Povprečna uspešnost optičnega prepoznavanja aplikacije 69,8% 21

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 Free OCR Software Rešitev podjetja a9t9 je z odliko prepoznalo besedilo napisano v angleškem jeziku vendar, pomanjkljivo prepoznavala znake slovenske abecede, predvsem šumnike. Rezultati so vidni v tabeli 3.2. Zaslonske maske rezultatov so v prilogi B. Tabela 3.2 Rezultati aplikacije (a9t9) Free OCR Software Število besed / tip slike Vhodne besede Prebrane besed Pravilne besed Uspešnost preverjanja OCR-A / Slo. 77 79 62 80,5% OCR-A / Ang. 103 103 103 100% Calibri / Slo. 77 76 67 87% Calibri / Ang. 103 103 103 100% Skenirano 82 81 75 91,4% Slikano 82 18 9 10,9% Povprečna uspešnost optičnega prepoznavanja aplikacije 78,3% Office Lens Prvovrstna brezplačna rešitev podjetja Microsoft, Office Lens, je brez napak prepoznala vse znake s štirih testnih slik prikazano na tabeli 3.3. Aplikacija je imela težave pri prepoznavanju slovenskega besedila s tipom pisave OCR-A in pravilnem deljenju daljših besed. Slike rezultatov so v prilogi C. 22

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 Tabela 3.3: Rezultati prepoznavanja aplikacije Office Lens Število besed / tip slike Vhodne besede Prebranih besed Pravilnih besed Uspešnost prepoznavanja OCR-A / Slo. 77 83 72 93.5% OCR-A / Ang. 103 103 103 100% Calibri / Slo. 77 77 77 100% Calibri / Ang. 103 103 103 100% Skenirano 82 82 82 100% Slikano 82 21 9 10,9% Povprečna uspešnost optičnega prepoznavanja aplikacije 84,1% Photo Scan Rezultati prepoznavanja slik slednje aplikacije so prikazani v tabeli 3.4, opazimo lahko napake pri angleškem besedilu tipa OCR-A, saj je napačno razdelila daljše besede v več krajših. Zaslonske slike prepoznavanja znakov so vidne v prilogi D. Tabela 3.4: Rezultati prepoznavanja aplikacije Photo Scan Število besed / tip slike Vhodne besede Prebranih besed Pravilnih besed Uspešnost prepoznavanja OCR-A / Slo. 77 77 77 100% OCR-A / Ang. 103 113 88 85.4% Calibri / Slo. 77 77 77 100% Calibri / Ang. 103 103 103 100% Skenirano 82 82 82 100% Slikano 82 24 8 9,7% Povprečna uspešnost optičnega prepoznavanja aplikacije 82,51% 23

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 Photron Image Translator V tabeli 3.5, lahko vidimo, da je aplikacija imela identično uspešnost prepoznavanja znakov, kot prej omenjena rešitev Photo Scan. Čeprav aplikacije niso odprto kodne lahko trdimo, da uporabljajo isti algoritem prepoznavanja znakov. Slike prepoznavanja znakov so vidne v prilogi E. Tabela 3.5: Rezultati prepoznavanja aplikacije Photron Image Translator Število besed / tip slike Vhodne besede Prebranih besed Pravilnih besed Uspešnost prepoznavanja OCR-A / Slo. 77 77 77 100% OCR-A / Ang. 103 113 88 85.4% Calibri / Slo. 77 77 77 100% Calibri / Ang. 103 103 103 100% Skenirano 82 82 82 100% Slikano 82 24 8 9,7% Povprečna uspešnost optičnega prepoznavanja aplikacije 82,51% Text Extract Aplikacija je neuspešno prepoznavala šumnike ter precej besed v slovenskem besedilu izpisala v napačnem vrstnem redu. Slike prepoznavanja znakov so vidne v prilogi F. Tabela 3.6: Rezultati prepoznave aplikacije Text Extract Število besed Vhodne Prebranih Pravilnih Uspešnost / tip slike besede besed besed prepoznavanja OCR-A / Slo. 77 79 68 88,3% OCR-A / Ang. 103 103 103 100% Calibri / Slo. 77 77 67 87% Calibri / Ang. 103 103 103 100% Skenirano 82 82 78 95,1% Slikano 82 38 5 6,1% Povprečna uspešnost optičnega prepoznavanja aplikacije 79,42 % 24

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 4 UPORABA KNJIŽNIC ZA PREPOZNAVANJE ZNAKOV V.NET OGRODJU Microsoftovo.NET ogrodje je bilo prvič predstavljeno javnosti v letu 2000. Namenjeno je razvijanju programske na operacijskih sistemih Windows. Opisali in predstavili bomo brezplačne rešitve knjižnic, ki omogočajo optično prepoznavanje znakov. IronOcr Programska rešitev razvita v združenih državah Amerike, namenjena uporabi OCR tehnologije v orodju Visual Studio. Razvijalcu nudi programsko knjižnico s katero lahko avtomatsko prepozna znake z izbrane slike, ter jim pregleda črkovanje v več kot osemdeset različnih jezikov[32]. Tessarect OCR Brezplačna odprto kodna rešitev sponzorirana s strani Google in od leta 2006 ena izmed najbolj priljubljenih ter natančnih metod optičnega prepoznavanja znakov. V začetnih verzijah je bila sposobna prebrati samo preproste slike z eno vrstico teksta. V letu 2015 je izšla verzija 3.04, ki podpira več kot sto različnih jezikov obdelave besedila. Omogoča prepoznavanje številnih novih tipov slik in je sposoben obdelave besedila pridobljenih znakov[33]. Asprise OCR Programska knjižnica podjetja Asprise je v razvoju od leta 1997 in se uporablja za prepoznavanje znakov in črtne kode. Podpira obdelavo zajemanja podatkov z več vrst slik in tipov dokumentov, kot so računi in obrazci. Omogoča obdelavo pridobljenih znakov in njihovo shranjevanje v XML, PDF ali Word dokumente [35]. 25

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 Windows.Media.Ocr Rešitev predstavljena s strani podjetja Microsoft ob prihodu univerzalnih Windows aplikacijah. Omogoča nam prepoznavanje znakov s slike ter njihovo obdelavo v s pomočjo črkovalnika [28]. 4.1 Uporaba knjižnic v aplikaciji Ustvarili bomo aplikacijo, s katero lahko izberemo sliko iz lokalne shrambe, optično prepoznamo njene znake z uporabo različnih programskih knjižni. Rezultate bomo nato izvozili v tekstovno datoteko. Aplikacijo bomo ustvarili z Microsoftovim integriranim programskim orodjem Visual Studio 2017, ki nam omogoča tudi razvijanje spletnih ter mobilnih aplikacij, spletnih strani in servisov [26]. Prvi korak implementacije je bilo ustvarjanje novega projekta v orodju Visual Studio 2017. Izbrali smo prazen projekt tipa WPF v programskem jeziku C#. S tem smo si pripravili predlogo aplikacije v katero smo vključili knjižnice prikazane v izvorni kodi 1. Potrebujemo jih za delo z datotekam, uporabniškim vmesnikom, manipulacijo slike in optično prepoznavanje znakov. using System; using System.Linq; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Media.Imaging; using Microsoft.Win32; using asprise_ocr_api; using System.IO; using IronOcr; using Tesseract; using System.Drawing; using Windows.Media.Ocr; using Windows.Storage; using Windows.Stroage.Streams; using Windows.Grapchis.Imaging; Izvorna koda 1: Uporabljene knjižnice 26

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 Uporabniški vmesnik, na sliki 4.2 smo oblikovali z uporabo XAML označevalnega jezika. Proženje funkcionalnosti v aplikacij se izvaja z elementom gumb (angl. Button). Programske knjižnice prepoznavanja bomo izbirali s pomočjo elementa»combo box«. Za prikaz slike, ki ji želimo optično prepoznati znake, uporabljamo element»image«, prepoznani znaki se bodo izpisali v polju z besedilom. Slika 4.1 Meni aplikacije 27

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 Uvoz slike Prvi korak procesa, da lahko sliki optično zajamemo znake je izbira slike, ki jo želimo prepoznati. Funkcionalnost izbiranje slike smo ustvarili s pomočjo razreda OpenFileDialog, ki je del Microsoftove knjižnice System.Windows.Forms, namenjene brskanju, izbiranju in shranjevanju datotek [29]. Z opisanim razredom smo ustvarili iskalno okno in ga omejili na slike tipa JPG, JPEG, PNG kar je razvidno v izvorni kodi 2. Izbrano sliko smo shranili in jo prikazali v elementu slike uporabniškega vmesnika. OpenFileDialog opendialog = new OpenFileDialog(); opendialog.title = "Izbera slike"; opendialog.filter = "All supported grap hics *.jpg;*.jpeg;*.png " + "JPEG (*.jpg;*.jpeg) *.jpg;*.jpeg " + "Portable Network Graphic (*.png) *.png"; if (opendialog.showdialog() == true) { SlikaHolder.Source = new BitmapImage(new Uri(openDialog.FileName)); potslike = opendialog.filename; } Izvorna koda 2: Izbor slike z lokalne shrambe 4.1.1 Prepoznava znakov z Windows.Media.Ocr Ko imamo sliko izbrano je v aplikaciji naslednji korak njena prepoznava znakov. Vendar je pred tem v izbrani programski knjižnic potrebno sliko pretvoriti v mapo bitov. Slednja je predstavljena z razredom SoftwareBitmap, ki je del knjižnice Windows.Grapchis.Imaging [30]. Z uporabo»randomacessstream«vmesnika se povežemo s prej izbrano sliko, pridobimo njene meta podatke ter ustvarimo tabelo bitov, kot je videno v izvorni kodi 4. 28

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 SoftwareBitmap mapabitov; /*... */ // Pretvorba slike v mapo bitov using (IRandomAccessStream stream = await izbranaslika.openasync(fileaccessmode.read)) { // Ustvari tabelo z bit izbrane slike BitmapDecoder lastnostimapebitov = await BitmapDecoder.CreateAsync(stream); // Shinroniziranje lastnosimapebitov v SoftwareBitmap mapabitov = await lastnostimapebitov.getsoftwarebitmapasync(); } Izvorna koda 3: Pretvorba slike v mapo bitov Znake v mapi bitov prepoznamo s pomočjo prej omenjene knjižnice Windows.Media.Ocr. Postopek se deli na dva koraka, prikazano v izvorni kodi 5. Z razredom»orcengine«pridobimo jezik uporabnikovega profila, s katerim lahko obdelamo pridobljene znake in jim popravimo slovnične napake. V drugem koraku prepoznamo znake iz mape bitov ter rezultat shranimo v tekst razreda OcrResult in ga izpišemo v polje besedila na aplikaciji. // Prepoznanva jezika uporabnika aplikacije OcrEngine ocrengine = OcrEngine.TryCreateFromUserProfileLanguages(); // Prepoznava znakov OcrResult ocrresult = await ocrengine.recognizeasync(mapabitov); // Izpis prepoznanih znakov v TextBox prepoznaniznaki.text = ocrresult.text; Izvorna koda 4: Klicanje metodi prepoznavanja znakov in jezika 4.1.2 Prepoznava znakov z Asprise OCR S programsko knjižnico Asprise, lahko z uporabo treh metod pridobimo rezultat prepoznave kot je videno v izvorni kodi 5. Najprej z metodo SetUp ponastavimo vse parametre v knjižnice, nato ustvarimo nov objekt ter z njim kličemo metodo zaženi motor v kateri izberemo željen jezik obdelave slike ter izberemo eno izmed treh hitrosti procesiranja slike. Rezultat zadnje metode je prepoznano besedilo, njeni vhodni podatki so pot slike ki jo bomo obravnavali, koordinate mej v primeru, da bi obdelali samo del slike, tip znakov, ki jih želimo prepoznati ali črtno kodo. Z zadnjim atributom izberemo izhodni format besedila. 29

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 AspriseOCR.SetUp(); AspriseOCR ocr = new AspriseOCR(); ocr.startengine("eng", AspriseOCR.SPEED_SLOW); string rezultat = ocr.recognize(potslike, -1, -1, -1, -1, -1, AspriseOCR.RECOGNIZE_TYPE_ALL, AspriseOCR.OUTPUT_FORMAT_PLAINTEXT); PrepoznaniZnaki.Text = rezultat; Izvorna koda 5: Uporaba knjižnice Asprise OCR 4.1.3 Prepoznava znakov z IronOcr S slednjo programsko knjižnico lahko izvedemo prepoznavanje znakov na dva načina. Z uporabo metode avtomatske prepoznave ter napredne uporabe, prikazane na izvorni kodi 6. V atributih objekta določimo izvajanje dodatnih predobdelav slike, da izboljšamo njeno kakovost in izberemo jezik v katerem želimo izvajati črkovalnik besed. V atribut metode preberi, dodamo izbran objekt, ta pa vrača prepoznane znake, črtno kodo ter matematične enačbe. Prav tako algoritem prepozna velikost teksta in njegov tip pisave. var Ocr = new AdvancedOcr() { CleanBackgroundNoise = true, EnhanceContrast = true, EnhanceResolution = true, Language = IronOcr.Languages.English.OcrLanguagePack, Strategy = IronOcr.AdvancedOcr.OcrStrategy.Advanced, ColorSpace = AdvancedOcr.OcrColorSpace.Color, DetectWhiteTextOnDarkBackgrounds = true, InputImageType = AdvancedOcr.InputTypes.AutoDetect, RotateAndStraighten = true, ReadBarCodes = true, ColorDepth = 4 }; var testimage = potslike; var Results = Ocr.Read(testImage); PrepoznaniZnaki.Text = Results.Text; Izvorna koda 6: Uporaba IronOcr knjižnice 30

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 4.1.4 Prepoznava znakov z Tessarect OCR Odprto kodna rešitev Tessarect omogoča prepoznavo znakov z uporabo ene same metode. Prvi korak je pretvorba izbrane slike v mapo bitov. Nato deklariramo izbrani jezik, ki ga želimo v uporabiti obdelavi znakov videno v izvorni kodi 7. Vsak jezik je potrebno naknadno prenesti z spletnega vira [34] ter priložiti k projektu in njegovo pot vnesti v kodi. Nato še določimo način njegov uporabe. Z metodo procesiraj prepoznamo znake iz mape bitov, ki smo jo dodali kot atribut. var img = new Bitmap(potSlike); TesseractEngine engine = new TesseractEngine(@"D:\OCRAplikacija\bin\debug\tessdata", "eng", EngineMode.Default); var page = engine.process(img); PrepoznaniZnaki.Text = page.gettext(); Izvorna koda 7: Uporaba Tessarect knjižnice Shranjevanje rezultatov Prepoznane znake iz slike, lahko shranimo z pritiskom na gumb shrani. S pomočjo razreda SaveFileDialog, ki je del Microsoftove knjižnice System.Windows, ustvarimo shranjevalno okno in definiramo tipe dokumenta s katerimi želimo shraniti rezultate. string filetext = PrepoznaniZnaki.Text; SaveFileDialog dialog = new SaveFileDialog(){ Filter = "Text Files(*.txt) *.txt All(*.*) *"}; if (dialog.showdialog() == true) { File.WriteAllText(dialog.FileName, filetext); } Izvorna koda 8: Shranjevanje rezultat v dokument 31

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 4.2 Testiranje aplikacije Delovanje optičnega prepoznavanja znakov programskih knjižnic v implementirani aplikaciji smo preizkusili s šestimi različnimi slikami, opisanih v poglavju 3.6. Rezultati testiranja so izpisani v tabelah. Windows.Media.Ocr Napake prepoznavanja so se prigodile pri angleškem besedilu tipa OCR-A, saj je napačno zaznalo prazen prostor med znaki besede ter jo razdelilo na več delov. Odpravili bi jo lahko z obdelavo besedila prepoznanih znakov. Zaslonske slike prepoznavanja znakov so vidne v prilogi G. Tabela 4.1 Rezultati uspešnosti Windows.Media.Ocr knjižnice Število besed / tip slike Vhodne besede Prebranih besed Pravilnih besed Uspešnost prepoznavanja OCR-A / Slo. 77 77 77 100% OCR-A / Ang. 103 113 88 85.4% Calibri / Slo. 77 77 77 100% Calibri / Ang. 103 103 103 100% Skenirano 82 82 82 100% Slikano 82 24 8 9,7% Povprečna uspešnost optičnega prepoznavanja aplikacije 82,51% Asprise OCR Programska knjižnica je imela predvsem težave pri branju slovenskega besedila in prepoznavanju črk s šumniki kar je prikazano v tabeli 4.2. Slike prepoznavanja znakov so vidne v prilogi H. 32

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 Tabela 4.2 Uspešnost knjižnice Windows.Media.Ocr Število besed / tip slike Vhodne besede Prebranih besed Pravilnih besed Uspešnost prepoznavanja OCR-A / Slo. 77 77 69 89,6% OCR-A / Ang. 103 103 97 94,1% Calibri / Slo. 77 77 67 87% Calibri / Ang. 103 103 103 100% Skenirano 82 83 68 82,9% Slikano 82 63 1 1% Povprečna uspešnost optičnega prepoznavanja aplikacije 75,7% IronOcr Rezultati prepoznavanja slik slednje programske knjižnice so prikazani v tabeli 4.3, največje napake lahko opazimo pri slovenskem besedilu tipa OCR-A in skenirani sliki. Slike prepoznavanja znakov so vidne v prilogi I. Tabela 4.3 Rezultati uspešnosti IronOcr Število besed / tip slike Vhodne besede Prebranih besed Pravilnih besed Uspešnost prepoznavanja OCR-A / Slo. 77 77 54 70,1% OCR-A / Ang. 103 103 100 97% Calibri / Slo. 77 77 66 85,7% Calibri / Ang. 103 103 103 100% Skenirano 82 82 74 90,2 % Slikano 82 1 0 0% Povprečna uspešnost optičnega prepoznavanja aplikacije 73,3% 33

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 Tesseract OCR Programska knjižnica je imela veliko uspeha pri prepoznavi besedila z tipom pisave calibri kar lahko vidimo v tabeli 4.4, ter zanemarljive rezultate slovenskega besedila, napisanega z OCR-A pisavo. Slike rezultatov prepoznavanja znakov so vidne v prilogi J. Tabela 4.4: Rezultati prepoznave Tesseract programske knjižnice Število besed / tip slike Vhodne besede Prebranih besed Pravilnih besed Uspešnost prepoznavanja OCR-A / Slo. 77 90 63 81,8% OCR-A / Ang. 103 111 98 95,1% Calibri / Slo. 77 77 77 100% Calibri / Ang. 103 102 101 100% Skenirano 82 82 82 100 % Slikano 82 0 0 0% Povprečna uspešnost optičnega prepoznavanja aplikacije 79,4% 4.3 Primerjava uspešnosti Uspešnost prepoznavanja znakov programskih knjižnic predstavljenih v aplikaciji smo primerjali z prej pregledanimi obstoječimi rešitvami. Na sliki 4.2 je razvidno, da se predstavljene knjižnice lahko primerjajo z uspehi obstoječih aplikacijah v Windows trgovini. Rezultati najuspešnejše knjižnice so identični aplikaciji, Photo Scan. Sklepamo lahko, da aplikacija uporabljajo isti Microsoftov algoritem iz knjižnice Windows.Media.Ocr, kot smo ga uporabili v naši aplikaciji. V predstavljeni aplikacij, bi lahko dosegli uspešnejše rezultate z obdelavo pridobljenih znakov. Priporočljivo bi bilo dodati črkovalnik angleških besed ter funkcionalnosti s katerimi, bi lahko izboljšali kakovost izbrane. Da bi bila implementirana rešitev še bolj konkurenčna obstoječim, bi morali dodati še možnost hkratnega branja več slik ter dokumentov. 34

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 Povprečna uspešnost prepoznavanja znakov Windows.Media.Ocr Asprise OCR IronOcr Tesserct Office Lens Photo Scan Leadtools OCR 82,51% 75,70% 73,30% 79,40% 84,10% 82,51% 69,80% Slika 4.2 Povprečen uspeh prepoznavanja znakov knjižnic (zeleno) in aplikacij (modro) Najuspešnejša prebrana slika, je bila napisana v angleškem jeziku s tipom pisave calibri, kot lahko vidimo na sliki 4.3. Uporabljene knjižnice so imele precej težav pri prepoznavi fotografirane slike. Uspešnost prepoznavanja testnih slik 120,00% 100,00% 87,40% 85,37% 93,80% 92,90% 90,90% 93,17% 99,80% 100% 95,90% 93,27% 80,00% 60,00% 40,00% 20,00% 0,00% 8,30% 2,67% OCR-A Slo. OCR-A Ang. Calibri Slo Calibri Ang Skenirano Slikano Aplikacije Knjižnice Slika 4.3 Uspešnost prepoznavanja testnih slik 35

Uporaba tehnologije optičnega prepoznavanja znakov v aplikacijah Windows 10 5 SKLEP V prvem poglavju diplomske naloge smo predstavili tehnologijo optičnega prepoznavanja znakov. Spoznali smo dva različna načina prepoznave znakov in začetke tipa pisave OCR. V nadaljevanju smo se seznanili z štirimi glavnimi koraki uspešne prepoznave znaka s slike. V predobdelavi smo spoznali metode s katerimi lahko izboljšamo kakovost slabo zajete slike in jo pretvorimo v črno in belo (binarno). V naslednjem koraku smo spoznali delovanje segmentacije besedila z slike, s pomočjo metode štetja slikovnih pik in histograma ter si podrobneje ogledali njuno delovanje. Nato smo z algoritmom primerjana s predlogo spoznali delovanje prepoznavanja znakov ter ugotovili na kakšne načine lahko pridobljene znake obdelamo. V tretjem poglavju smo se osredotočili na pregled obstoječih rešitev v Windows 10 aplikacijah. Podrobneje smo predstavili operacijski sistem ter Microsoftovo digitalno trgovino Windows Store. S slednje trgovine smo izbrali šest brezplačnih rešitev optičnega prepoznavanja znakov in jih predstavili. Nato smo se seznanili z našimi testenimi slikami in aplikacije testirali. Opisali smo njihove rezultate in ugotovitve delovanja algoritma prepoznavanja. V zadnjem poglavju diplomske naloge smo predstavili nekaj najbolj znanih brezplačnih programskih knjižnic za reševanje problema optičnega prepoznavanja znakov. Nato smo si ogledali razvoj in delovanje programskih knjižnic namenjenih za optično prepoznavanje, v aplikaciji razviti z orodjem Visual Studio 2017. V naslednjem koraku smo testirali programske knjižnice in njene rezultate primerjali z prej testiranimi obstoječimi rešitvami. V diplomski nalogi smo analizirali delovanje tehnologije optičnega prepoznavanja znakov v Windows 10 aplikacijah in brezplačnih.net programskih knjižnicah. Ugotovili smo, da je veliko aplikacij in knjižnic programske opreme sposobno uspešno prebrati kvalitetno sliko. V zbranih rezultatih smo opazili, da imajo sodobne programske rešitve veliko več težave z branjem pisave tipa OCR kot calibri, kar je v nasprotju s teorijo. Povprečna uspešnost pretvorbe slovenskega besedila je manjša od angleškega, predvsem zaradi uporabe šumnikov. V primeru ne idealnih razmer, ko se spopadamo z slabo kakovostjo vhodnega dokumenta, je trenutna tehnologija slabo uspešna pri prepoznavi. 36

6 VIRI [1] Timeline of optical character recognition [Elektronski] Dostopen: https://en.wikipedia.org/wiki/timeline_of_optical_character_recognition [15.8.2017] [2] Study of optical character recognition alghoritems and tools [Elektronski] Dostopen: shodhganga.inflibnet.ac.in/jspui/bitstream/10603/130552/8/08_chapter%202.pdf [16.8.2017] [3] RecogniForum Technologies [Elektronski] Dostopen: http://www.recogniform.net/eng/ocr-a-font-ocra-optical-character-recognition.html [16.8.2017] [4] Pattern recognition [Elektronski] Dostopen: http://www.sciencedirect.com/science/article/pii/s0031320308002173 [19.8.2017] [5] Hough Transform [Elektronski] Dostopen: https://en.wikipedia.org/wiki/hough_transform [18.8.2017] [6] Noise Reduction [Elektronski] Dostopen: https://en.wikipedia.org/wiki/noise_reduction [19.8.2017] [7] Median Filter [Elektronski] Dostopen: https://en.wikipedia.org/wiki/median_filter [19.8.2017] [8] Image pre-processing for OCR [Elektronski] Dostopen: https://www.abtosoftware.com/blog/image-pre-processing-for-ocr [19.8.2017] [9] Image Segmentation [Elektronski] Dostopen: https://en.wikipedia.org/wiki/image_segmentation [19.8.2017] [10] Image Segmentation [Elektronski] Dostopen: https://www.cs.auckland.ac.nz/courses/compsci773s1c/lectures/imageprocessinghtml/topic3.htm [19.8.2017] [11] Text-based image segmentation methodology [Elektronski] Dostopen: http://www.sciencedirect.com/science/article/pii/s2212017314000954 [19.8.2017] [12] Hsse normal form [Elektronski] Dostopen: https://en.wikipedia.org/wiki/hesse_normal_form [20.8.2017] [13] A non parametric approach for histogram segmentation [Elektronski] Dostopen: https://desolneux.perso.math.cnrs.fr/papers/ddlp_histip_07.pdf [20.8.2017] 37

[14] Template Matching [Elektronski] Dostopen: http://docs.adaptivevision.com/4.7/studio/machine_vision_guide/templatematching.html [20.8.2017] [15] Optical Character Recognition [Elektronski] Dostopen: https://en.wikipedia.org/wiki/optical_character_recognition [21.8.2017] [16] Nearest neighbour search [Elektronski] Dostopen: https://en.wikipedia.org/wiki/nearest_neighbor_search [21.8.2017] [17] Stat Counter [Elektronski] Dostopen: https://en.wikipedia.org/wiki/statcounter [21.8.2017] [18] Windows 10 [Elektronski] Dostopen: https://en.wikipedia.org/wiki/windows_10 [21.8.2017] [19] Matej Huš Windows 10 je tu! Slotech [Elektronski] Dostopen: https://slotech.com/novice/t649261#crta [21.8.2017] [20] Windos Store [Elektronski] Dostopen: https://en.wikipedia.org/wiki/windows_store [22.8.2017] [21] Leadtools inc. [Elektronski] Dostopen: https://www.leadtools.com/sdk/professionalocr [22.8.2017] [22] (a9t9) Free OCR Software [Elektronski] Dostopen: https://www.microsoft.com/enus/store/p/a9t9-free-ocr-software/9nblgggz5nsn [22.8.2017] [23] Office Lens [Elektronski] Dostopen: https://www.microsoft.com/enus/store/p/office-lens/9wzdncrfj3t8 [22.8.2017] [24] Photo Scan [Elektronski] Dostopen: https://www.microsoft.com/enus/store/p/photo-scan/9nblggh4s87w [22.8.2017] [25] Photronic Image Translator [Elektronski] Dostopen: https://www.microsoft.com/enus/store/p/photron-image-translator/9nblggh58rz3 [22.8.2017] [26] Microsoft Visual Studio 2017 [Elektronski] Dostopen: https://en.wikipedia.org/wiki/microsoft_visual_studio [23.8.2017] [27] Universal Windows Platform [Elektronski] Dostopen: https://en.wikipedia.org/wiki/universal_windows_platform_apps [23.8.2017] [28] Windos Media Ocr Namespace [Elektronski] Dostopen: https://docs.microsoft.com/en-us/uwp/api/windows.media.ocr [24.8.2017] [29] System Windows Forms [Elektronski] Dostopen: https://msdn.microsoft.com/enus/library/system.windows.forms(v=vs.110).aspx [25.8.2017] 38

[30] Windows Grapchis Imaging [Elektronski] Dostopen: https://docs.microsoft.com/enus/uwp/api/windows.graphics.imaging [25.8.2017] [31] Medianstudio.net WebView & UWP [Elektronski] Dostopen: http://medienstudio.net/development-en/webview-uwp-freeing-up-memory/?lang=en [25.8.2017] [32] The C# OCR libary [Elektronski] Dostopen: http://ironsoftware.com/csharp/ocr/ [26.8.2017] [33] Tessarect software [Elektronski] Dostopen: https://en.wikipedia.org/wiki/tesseract_(software) [26.8.2017] [34] Tessarect Langugae packs [Elektronski] Dostopen: https://github.com/tesseractocr/tessdata [28.8.2017] [35] Asprise OCR [Elektronski] Dostopen: https://asprise.com/ocr/docs/html/asprise-ocrlibrary-csharp-vb.net-component.html [28.8.2017] 39

7 PRILOGE Priloga A LEADTOOLS OCR OCR-A Slo. OCR A Ang. 40

Calibri Slo. Calibri Ang. 41

Skenirano Slikano 42

Priloga B (a9t9) Free OCR Software OCR-A Slo. OCR-A Ang. 43

Calibri Slo. Calibri Ang. 44

Skenirano Slikano 45

Priloga C Office Lens OCR-A Slo OCR-A Ang 46

Calibri Slo. Calibri Ang. 47

Skenirano Slikano 48

Priloga D Photo Scan OCR-A Slo. OCR-A Ang. 49

Calibri Slo. Calibri Ang. 50

Skenirano Slikano 51

Priloga E Photron Image Translator OCR-A OCR-A Ang. 52

Calibri Slo. Calibri Ang. 53

Skenirano Slikano 54

Priloga F Text Extract OCR-A Slo. OCR-A Ang. 55

Calibri Slo. Calibri Ang. 56

Skenirano Slikano 57

Priloga G Windows.Media.Ocr OCR-A Slo OCR-A Ang. 58

Calibri Slo Calibri Ang. 59

Skenirano Slikano 60

Priloga H Asprise OCR OCR-SLO OCR ANG 61

Calibri Slo Calibri Ang 62

Skenirano Slilano 63

Priloga I IronOCr OCR Slo OCR Ang 64

Calibri Slo Calibri Ang 65

Skenirano Slikano 66

Priloga J Tessarect OCR OCR SLO OCR ANG 67

Calibri slo Calibri Ang 68

Skenirano Slikano 69